Profilare un'asta Protected Audience

Le aste Protected Audience possono essere analizzate visivamente o tramite query SQL con Perfetto. Le tecnologie pubblicitarie possono utilizzare il profiling con Perfetto per misurare il rendimento delle aste Protected Audience, tra cui:

  • Tempo di CPU dello script di offerte e determinazione del punteggio
  • Latenza delle richieste HTTP, ad esempio il servizio chiave/valore
  • Impatto sulle prestazioni della cache a freddo rispetto alla cache a caldo
  • Più segmenti di pubblico personalizzati rispetto a meno
  • Insiemi di indicatori più grandi o più piccoli
  • Script di logica di offerta diversi per segmento di pubblico personalizzato rispetto all'utilizzo dello stesso script per tutte le offerte

Configurazione

  1. Clona i repository Perfetto e Privacy Sandbox.

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
  2. In Android Studio, apri l'app di esempio Protected Audience dalla directoryprivacy-sandbox-samples/Fledge/FledgeKotlin.

  3. Compila e installa l'app di esempio sul dispositivo di test o sull'emulatore.

Esegui un'asta e acquisisci una traccia Perfetto

  1. Configura ed esegui il deployment di endpoint HTTPS di test. Prendi nota dell'URL degli endpoint ospitati, in quanto sono necessari per il funzionamento dell'app demo Protected Audience.
  2. Avvia l'app di demo con un URL dell'endpoint di test specificato. Sostituisci <test-endpoint-url> con un URL dell'endpoint ospitato che hai registrato nel passaggio precedente.

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
  3. Attiva/disattiva "Segmento di pubblico personalizzato: scarpe" per assicurarti che sia attivo almeno un segmento di pubblico personalizzato.

    La CA Shoes è attivata nell&#39;app demo.
    App demo Protected Audience
  4. Registra una traccia utilizzando il file trace_config.textproto dal repository GitHub di Privacy Sandbox DevTools:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
  5. Tocca il pulsante "Esegui selezione annunci" e attendi i risultati dell'asta. Al termine dell'asta, nell'output viene visualizzato un messaggio, ad esempio "Verrebbe visualizzato l'annuncio di http://example.com/bidding/render_shoes".

  6. Nel terminale, termina (CTRL+C) il programma record_android_trace per completare la traccia. L'interfaccia utente di Perfetto si apre nel browser con i dati della traccia caricati.

Esplorare visivamente le tracce in Perfetto

  1. Cerca "RunOnDeviceAdSelection" utilizzando la barra degli indirizzi nella parte superiore dell'interfaccia utente. Fai clic su Invio per completare la ricerca e visualizzare i risultati:

    Interfaccia utente perfetta per l&#39;asta Protected Audience. Sono visibili tracce come RunOnDeviceAdSelection e RunBidding.
    Asta Protected Audience con un solo acquirente in Perfetto.
  2. Fai clic su una traccia per ispezionarla. I dettagli, come la latenza di esecuzione, sono disponibili qui.

    Interfaccia utente perfetta per l&#39;ispezione di un segmento di traccia. I dettagli sulla latenza sono visibili.
    Ispezione di un segmento di traccia.

Segmenti di traccia specifici per Protected Audience

L'asta Protected Audience è un processo complesso e esistono molti segmenti diversi acquisiti dalla traccia Perfetto. Questa tabella descrive cosa rappresenta ogni segmento di traccia.

Ora Segmento Descrizione Frequenza
Pre asta RunOnDeviceAdSelection Asta end-to-end Per asta
Offerte (lato acquirente) FilterContextualAds Eseguire il filtro per installazione di app e quota limite negli annunci contestuali Per asta
GetBuyersCustomAudience Carica il segmento di pubblico personalizzato dell'acquirente dal database Per acquirente
FilterCustomAudiences Eseguire il filtro delle installazioni di app e delle quote limite nei segmenti di pubblico personalizzati Per asta
GetTrustedBiddingSignals Carica gli indicatori di offerta dell'acquirente Per acquirente
RunBiddingPerCustomAudience Offerte per un singolo segmento di pubblico personalizzato Per segmento di pubblico personalizzato
GetBuyerDecisionLogic Carica il codice JavaScript dell'acquirente dalla rete o dal database, se memorizzato nella cache Per segmento di pubblico personalizzato
RunBidding Esecuzione di JavaScript per un acquirente Per acquirente
GenerateBids Esecuzione di JavaScript per un segmento di pubblico personalizzato Per segmento di pubblico personalizzato
Punteggio (lato vendite) GetTrustedScoringSignals Caricare gli indicatori di punteggio del venditore Per venditore
RunAdScoring Esecuzione di JavaScript per il calcolo del punteggio Per asta
ScoreAd Esecuzione di JavaScript per un annuncio Per annuncio
GetAdSelectionLogic Carica la logica di selezione degli annunci del venditore Per asta
RunAdOutcomeSelection Filtro finale Per asta
Dopo l'asta PersistOnDeviceAdSelection Scrivere il risultato dell'asta nel database Per asta

Esegui una query per la latenza media di esecuzione

Perfetto può utilizzare query SQL per ottenere una misurazione precisa di ciò che accade all'interno di una determinata traccia.

Questa sezione descrive come misurare la latenza di esecuzione media per l'esecuzione di JavaScript.

  1. In Perfetto, vai a "Query (SQL)" nel riquadro di navigazione a sinistra.
  2. Inserisci la seguente query:

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. Esegui la query ed esamina i risultati.

    Risultati della query SQL. La latenza media è di 17693688 nanosecondi.
    Risultati della query SQL in nanosecondi.