Membuat profil lelang Protected Audience

Lelang Protected Audience dapat dianalisis (baik secara visual maupun dengan kueri SQL dengan Perfetto. Teknologi iklan dapat menggunakan pembuatan profil dengan Perfetto untuk mengukur performa lelang Protected Audience, termasuk:

  • Waktu CPU skrip bidding dan penskoran
  • Latensi permintaan HTTP seperti layanan kunci/nilai
  • Dampak performa cache dingin versus cache hot
  • Audiens kustom lebih banyak versus lebih sedikit
  • Kumpulan sinyal yang lebih besar versus lebih kecil
  • Skrip logika bidding yang berbeda per audiens kustom dibandingkan dengan penggunaan skrip yang sama untuk semua bidding

Penyiapan

  1. Clone repositori Perfetto dan Privacy Sandbox.

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
    
  2. Di Android Studio, buka aplikasi contoh Protected Audience dari direktori privacy-sandbox-samples/Fledge/FledgeKotlin.

  3. Build dan instal aplikasi contoh di emulator atau perangkat pengujian.

Menjalankan lelang dan mengambil rekaman aktivitas Perfetto

  1. Siapkan dan deploy endpoint HTTPS pengujian. Catat URL endpoint yang dihosting karena diperlukan agar aplikasi demo Protected Audience dapat berfungsi.
  2. Luncurkan aplikasi demo dengan URL endpoint pengujian yang telah ditentukan. Ganti <test-endpoint-url> dengan URL endpoint yang dihosting dan Anda catat di langkah sebelumnya.

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
    
  3. Alihkan tombol "Sepatu CA" untuk memastikan ada setidaknya 1 audiens kustom yang aktif.

    Screenshot aplikasi demo. Tombol Sepatu CA dialihkan.
    Aplikasi Demo Protected Audience.
  4. Catat rekaman aktivitas menggunakan file trace_config.textproto dari repositori GitHub DevTools Privacy Sandbox:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
    
  5. Ketuk tombol "Run Ad Selection" dan tunggu hasil lelangnya. Setelah lelang selesai, output akan menampilkan pesan seperti "Akan menampilkan iklan dari http://example.com/bidding/render_shoes".

  6. Di terminal Anda, hentikan (CTRL+C) program record_android_trace untuk menyelesaikan rekaman aktivitas. UI Perfetto terbuka di browser Anda dengan data rekaman aktivitas dimuat.

Menjelajahi rekaman aktivitas secara visual di Perfetto

  1. Telusuri "RunOnDeviceAdSelection" menggunakan kolom URL di bagian atas UI. Klik Enter untuk menyelesaikan penelusuran dan menampilkan hasilnya:

    UI Perfetto yang melihat lelang Protected Audience. Jalur seperti RunOnDeviceAdSelection dan RunBidding dapat dilihat.
    Lelang Protected Audience oleh pembeli tunggal di Perfetto.
  2. Klik rekaman aktivitas untuk memeriksanya. Detail seperti latensi eksekusi tersedia di sini.

    UI Perfetto yang memeriksa segmen rekaman aktivitas. Detail latensi terlihat.
    Memeriksa segmen rekaman aktivitas.

Segmen rekaman aktivitas khusus Protected Audience

Lelang Protected Audience adalah proses yang kompleks dan ada banyak segmen berbeda yang ditangkap oleh rekaman aktivitas Perfetto. Tabel ini mendokumentasikan apa yang direpresentasikan oleh setiap segmen rekaman aktivitas.

Waktu Segmen Deskripsi Frekuensi
Pra-lelang RunOnDeviceAdSelection Lelang menyeluruh Per lelang
Bidding (sisi beli) FilterContextualAds Melakukan pemfilteran penginstalan aplikasi dan pembatasan frekuensi pada iklan kontekstual Per lelang
GetBuyersCustomAudience Memuat audiens kustom pembeli dari database Per pembeli
FilterCustomAudiences Melakukan pemfilteran penginstalan aplikasi dan pembatasan frekuensi pada audiens kustom Per lelang
GetTrustedBiddingSignals Memuat sinyal bidding pembeli Per pembeli
RunBiddingPerCustomAudience Bidding iklan untuk satu audiens kustom Per audiens kustom
GetBuyerDecisionLogic Memuat JavaScript pembeli dari jaringan, atau database, jika di-cache Per audiens kustom
RunBidding Eksekusi JavaScript untuk pembeli Per pembeli
GenerateBids Eksekusi JavaScript untuk audiens kustom Per audiens kustom
Penskoran (sisi jual) GetTrustedScoringSignals Memuat sinyal penskoran penjual Per penjual
RunAdScoring Eksekusi JavaScript untuk penskoran Per lelang
ScoreAd Eksekusi JavaScript untuk iklan Per iklan
GetAdSelectionLogic Memuat logika pemilihan iklan penjual Per lelang
RunAdOutcomeSelection Pemfilteran akhir Per lelang
Pasca-lelang PersistOnDeviceAdSelection Menuliskan hasil lelang ke database Per lelang

Mengkueri latensi eksekusi rata-rata

Perfetto dapat menggunakan kueri SQL untuk mendapatkan pengukuran yang akurat mengenai apa yang terjadi di dalam rekaman aktivitas tertentu.

Bagian ini mendokumentasikan cara mengukur latensi eksekusi rata-rata untuk eksekusi JavaScript.

  1. Di Perfetto, buka "Kueri (SQL)" di panel navigasi kiri.
  2. Masukkan kueri berikut:

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. Jalankan kueri dan periksa hasilnya.

    Hasil kueri SQL. Latensi rata-rata adalah 17693688 nanodetik.
    Hasil kueri SQL dalam nanodetik.