Profilare un'asta di segmenti di pubblico protetti

Le aste Protected Audience possono essere analizzate (visivamente tramite query SQL con Perfetto. I tecnici pubblicitari possono utilizzare la profilazione con Perfetto per misurare il rendimento delle aste Protected Audience. tra cui:

  • Tempo di CPU per lo script di offerte e punteggio
  • Latenza delle richieste HTTP come servizio chiave/valore
  • Impatto sulle prestazioni della cache fredda rispetto a quella a caldo
  • Segmenti di pubblico personalizzati di più e meno
  • Set di indicatori più grandi e più piccoli
  • Script di logiche di offerta diversi per segmento di pubblico personalizzato rispetto all'utilizzo dei termini lo 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 Directory privacy-sandbox-samples/Fledge/FledgeKotlin.

  3. Crea e installa l'app di esempio sul dispositivo di test o nell'emulatore.

Esegui un'asta ed esegui una traccia Perfetto

  1. Configura e distribuisci gli endpoint HTTPS di test. Prendi nota dell'URL del perché sono necessari per l'app demo Protected Audience per personalizzata.
  2. Avvia l'app demo specificando l'URL di un endpoint di test. Sostituisci <test-endpoint-url> con un URL di endpoint ospitato che hai registrato nella passaggio precedente.

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
     
    -e baseUrl "<test-endpoint-url>"

  3. Attiva/disattiva "Scarpe CA" per assicurarti che sia attivo almeno un segmento di pubblico personalizzato.

    Screenshot dell&#39;app demo. L&#39;opzione CA Scarpe è attivata/disattivata.
    App Protected Audience per la demo
  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 l'opzione "Esegui selezione degli annunci". e attendere i risultati dell'asta. Quando l'asta viene completata, l'output mostra il messaggio " annuncio di http://example.com/bidding/render_shoes".

  6. Nel terminale, termina (Ctrl+C) il programma record_android_trace termina la traccia. La UI di Perfetto si apre nel browser con la traccia di dati caricati.

Esplora visivamente le tracce in Perfetto

  1. Cerca "RunOnDeviceAdSelection" utilizzando la barra degli indirizzi in alto l'interfaccia utente. Fai clic su Invio per completare la ricerca e visualizzare i risultati:

    UI di Perfetto che guarda l&#39;asta Protected Audience. Sono visibili tracce come RunOnDeviceAdSelection e RunBidding.
    Asta Protected Audience per un singolo acquirente in Perfetto.
  2. Fai clic su una traccia per ispezionarla. I dettagli come la latenza di esecuzione sono disponibili qui.

    UI Perfetto che ispeziona un segmento della traccia. I dettagli della latenza sono visibili.
    Ispezione di un segmento di traccia.

Segmenti di traccia specifici di Protected Audience

La procedura di asta Protected Audience è complessa e ci sono molte segmenti acquisiti dalla traccia Perfetto. Questa tabella documenta ogni traccia rappresenta.

Ora Segmento Descrizione Frequenza
Prima dell'asta RunOnDeviceAdSelection End-to-end dell'asta Per asta
Offerte (lato acquisti) FilterContextualAds Applica filtri per l'installazione di app e la quota limite negli annunci contestuali Per asta
GetBuyersCustomAudience Carica il segmento di pubblico personalizzato dell'acquirente dal database Per acquirente
FilterCustomAudiences Applica filtri per l'installazione di app e la quota limite sui segmenti di pubblico personalizzati Per asta
GetTrustedBiddingSignals Carica gli indicatori di offerta dell'acquirente Per acquirente
RunBiddingPerCustomAudience Offerte pubblicitarie 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 vendita) GetTrustedScoringSignals Carica gli indicatori di punteggio del venditore Per venditore
RunAdScoring Esecuzione di JavaScript per il 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 Scrivi il risultato dell'asta nel database Per asta

Query per la latenza di esecuzione media

Perfetto può usare le query SQL per ottenere una misurazione precisa di ciò che sta succedendo all'interno di una determinata traccia.

Questa sezione illustra come misurare la latenza media di esecuzione per 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 e controlla i risultati.

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