Profilowanie aukcji Protected Audience

Aukcje Protected Audience można analizować (wizualnie lub za pomocą zapytania SQLPerfetto). Firmy technologiczne zajmujące się reklamami mogą używać profilowania z użyciem interfejsu Peretto do pomiaru skuteczności aukcji z użyciem Protected Audience, w tym:

  • Czas pracy procesora w przypadku skryptu ustalania stawek i określania wartości
  • Czas oczekiwania na żądania HTTP, np. na usługi klucz-wartość
  • Wpływ zimnej i gorącej pamięci podręcznej na wydajność
  • Więcej a mniej niestandardowych grup odbiorców
  • Większe i mniejsze zestawy sygnałów
  • Różne skrypty logiki ustalania stawek na potrzeby poszczególnych list odbiorców niestandardowych w porównaniu z użyciem tego samego skryptu do wszystkich ustalania stawek

Konfiguracja

  1. Sklonuj repozytoria Peretto i Piaskownica prywatności.

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
  2. W Android Studio otwórz przykładową aplikację Protected Audience z katalogu privacy-sandbox-samples/Fledge/FledgeKotlin.

  3. Skompiluj i zainstaluj przykładową aplikację na urządzeniu testowym lub w emulatorze.

Przeprowadź aukcję i wykonaj śledzenie w Perfetto

  1. Skonfiguruj i wdróż testowe punkty końcowe HTTPS. Zanotuj adresy URL hostowanych punktów końcowych, ponieważ są one wymagane do działania aplikacji demonstracyjnej Protected Audience.
  2. Uruchom aplikację demonstracyjną, podając adres URL testowego punktu końcowego. Zastąp <test-endpoint-url> adresem URL hostowanego punktu końcowego zapisanym w poprzednim kroku.

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
  3. Przełącz opcję „Buty CA”, aby mieć co najmniej 1 aktywną grupę odbiorców niestandardowych.

    Certyfikat autoryzujący Shoes włączony w aplikacji demonstracyjnej.
    Aplikacja demo Protected Audience
  4. Nagraj ślad za pomocą pliku trace_config.textproto z repozytorium GitHub Narzędzi deweloperskich Piaskownicy prywatności:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
  5. Kliknij przycisk „Uruchom wybór reklamy” i poczekaj na wyniki aukcji. Po zakończeniu aukcji na wyjściu pojawi się komunikat, np. „Wyświetlałabym reklamę z http://example.com/bidding/render_shoes”.

  6. Aby zakończyć śledzenie, w terminalu zamknij program record_android_trace (CTRL+C). W Twojej przeglądarce otworzy się interfejs Perfectto z wczytaną informacją o śledzeniu.

Wizualizacja śladów w Perfetto

  1. Użyj paska adresu u góry interfejsu, aby wyszukać „RunOnDeviceAdSelection”. Aby zakończyć wyszukiwanie i wyświetlić wyniki, kliknij Enter:

    Interfejs Perfetto pokazujący aukcję Protected Audience Są widoczne ścieżki takie jak RunOnDeviceAdSelection i RunBidding.
    Aukcja Protected Audience w Perfetto dla pojedynczego kupującego
  2. Kliknij ślad, aby go sprawdzić. Tutaj znajdziesz takie informacje jak czas oczekiwania na wykonanie.

    Interfejs Perfetto do przeglądania śladów: inspekcja segmentu śladu. widoczne są szczegóły opóźnienia;
    Sprawdzanie segmentu ścieżki.

Segmenty śledzone dotyczące Protected Audience

Aukcja Protected Audience to złożony proces, a Perfetto rejestruje wiele różnych segmentów. Ta tabela zawiera opis każdego segmentu śladu.

Godzina Segment Opis Częstotliwość
Przed aukcją RunOnDeviceAdSelection Kompleksowa pomoc w zakresie aukcji Na aukcję
Określanie stawek (strona kupującego) FilterContextualAds Filtrowanie reklam kontekstowych pod kątem instalacji aplikacji i ograniczenia liczby wyświetleń Na aukcję
GetBuyersCustomAudience Wczytywanie niestandardowej listy odbiorców kupującego z bazy danych Na kupującego
FilterCustomAudiences Filtrowanie instalacji aplikacji i ograniczenia liczby wyświetleń na listach odbiorców niestandardowych Na aukcję
GetTrustedBiddingSignals Wczytywanie sygnałów określania stawek przez kupującego Na kupującego
RunBiddingPerCustomAudience Ustalanie stawek reklam za pomocą listy odbiorców niestandardowych Na niestandardową grupę odbiorców
GetBuyerDecisionLogic wczytywanie kodu JavaScript kupującego z sieci lub bazy danych (jeśli jest w pamięci podręcznej); Na niestandardową grupę odbiorców
RunBidding Wykonywanie kodu JavaScript przez kupującego Na kupującego
GenerateBids Wykonywanie kodu JavaScript na potrzeby listy niestandardowych odbiorców Na niestandardową grupę odbiorców
Wyznaczanie wyników (strona sprzedaży) GetTrustedScoringSignals Wczytywanie sygnałów oceny sprzedawcy Według sprzedawcy
RunAdScoring Wykonywanie kodu JavaScript na potrzeby oceny Na aukcję
ScoreAd Wykonywanie kodu JavaScript w reklamie Na reklamę
GetAdSelectionLogic Wczytaj reguły wyboru reklam przez sprzedawcę Na aukcję
RunAdOutcomeSelection Ostateczne filtrowanie Na aukcję
Po aukcji PersistOnDeviceAdSelection Zapisywanie wyników aukcji w bazie danych Na aukcję

Zapytanie o średni czas oczekiwania

Peretto może używać zapytań SQL do dokładnego pomiaru tego, co dzieje się w ramach konkretnego śladu.

Z tej sekcji dowiesz się, jak mierzyć średni czas oczekiwania na wykonanie kodu JavaScript.

  1. W panelu nawigacyjnym po lewej stronie w Perfetto kliknij „Zapytanie (SQL)”.
  2. Wpisz to zapytanie:

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. Uruchom zapytanie i sprawdź wyniki.

    Wyniki zapytania SQL. Średni czas oczekiwania to 17693688 nanosekund.
    Wyniki zapytań SQL w nanosekundach.