Профилирование аукциона защищенной аудитории,Профилирование аукциона защищенной аудитории,Профилирование аукциона защищенной аудитории

Аукционы Защищенной аудитории можно анализировать ( визуально или с помощью SQL-запроса с помощью Perfetto ). Специалисты по рекламе могут использовать профилирование с помощью Perfetto для измерения эффективности аукционов Защищенной аудитории, в том числе:

  • Процессорное время скрипта назначения ставок и оценки
  • Задержка HTTP-запросов, таких как служба «ключ-значение».
  • Влияние холодного кэша на производительность по сравнению с горячим кэшем
  • Больше или меньше индивидуализированных аудиторий
  • Большие и меньшие наборы сигналов
  • Различные сценарии логики назначения ставок для каждой индивидуально настроенной аудитории по сравнению с использованием одного и того же сценария для всех ставок.

Настраивать

  1. Клонируйте репозитории Perfetto и Privacy Sandbox.

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
    
  2. В Android Studio откройте образец приложения «Защищенная аудитория» из каталога privacy-sandbox-samples/Fledge/FledgeKotlin .

  3. Создайте и установите пример приложения на тестовое устройство или эмулятор .

Запустите аукцион и отследите Perfetto.

  1. Настройте и разверните тестовые конечные точки HTTPS . Запишите URL-адрес размещенных конечных точек, поскольку они необходимы для работы демонстрационного приложения Protected Audience.
  2. Запустите демонстрационное приложение с указанным URL-адресом тестовой конечной точки. Замените <test-endpoint-url> URL-адресом размещенной конечной точки, который вы записали на предыдущем шаге.

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
    
  3. Включите «Обувной центр сертификации», чтобы убедиться, что активна хотя бы одна пользовательская аудитория.

    Скриншот демо-приложения. Центр сертификации обуви переключен.
    Демо-приложение для защищенной аудитории.
  4. Запишите трассировку, используя файл трассировки_config.textproto из репозитория Privacy Sandbox DevTools GitHub:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
    
  5. Нажмите кнопку «Запустить отбор объявлений» и дождитесь результатов аукциона. По завершении аукциона в результатах отображается сообщение, например «Будет показано объявление с http://example.com/bidding/render_shoes ».

  6. В терминале завершите (CTRL+C) программу record_android_trace , чтобы завершить трассировку. Пользовательский интерфейс Perfetto откроется в вашем браузере с загруженными данными трассировки.

Визуально исследовать следы в Perfetto

  1. Найдите «RunOnDeviceAdSelection», используя адресную строку в верхней части пользовательского интерфейса. Нажмите Enter , чтобы завершить поиск и отобразить результаты:

    Пользовательский интерфейс Perfetto смотрит на аукцион защищенной аудитории. Видны такие треки, как RunOnDeviceAdSelection и RunBidding.
    Аукцион Protected Audience с одним покупателем в Perfetto.
  2. Щелкните трассировку, чтобы просмотреть ее. Подробности, такие как задержка выполнения, доступны здесь.

    Пользовательский интерфейс Perfetto проверяет сегмент трассировки. Подробности о задержке видны.
    Проверка сегмента трассировки.

Защищенные сегменты трассировки для конкретной аудитории

Аукцион защищенной аудитории — это сложный процесс, и трассировка Perfetto охватывает множество различных сегментов. В этой таблице показано, что представляет собой каждый сегмент трассировки.

Время Сегмент Описание Частота
Предварительный аукцион RunOnDeviceAdSelection Аукцион сквозной За аукцион
Торги (сторона покупателя) FilterContextualAds Фильтрация установок приложений и ограничения частоты показов контекстной рекламы. За аукцион
GetBuyersCustomAudience Загрузить пользовательскую аудиторию покупателя из базы данных За покупателя
FilterCustomAudiences Выполнение установки приложения и фильтрация ограничения частоты показов для индивидуально настроенных аудиторий. За аукцион
GetTrustedBiddingSignals Загрузить сигналы назначения ставок покупателя За покупателя
RunBiddingPerCustomAudience Ставки объявлений для одной индивидуально настроенной аудитории На индивидуально настроенную аудиторию
GetBuyerDecisionLogic Загрузите JavaScript покупателя из сети или базы данных, если он кэширован. На индивидуально настроенную аудиторию
RunBidding Исполнение JavaScript для покупателя За покупателя
GenerateBids Выполнение JavaScript для индивидуальной аудитории На индивидуально настроенную аудиторию
Подсчет очков (со стороны продавца) GetTrustedScoringSignals Загрузить скоринговые сигналы продавца За продавца
RunAdScoring Выполнение JavaScript для оценки За аукцион
ScoreAd Выполнение JavaScript для объявления За объявление
GetAdSelectionLogic Загрузить логику выбора объявлений продавца За аукцион
RunAdOutcomeSelection Финальная фильтрация За аукцион
Пост-аукцион PersistOnDeviceAdSelection Записать результат аукциона в базу данных За аукцион

Запрос средней задержки выполнения

Perfetto может использовать SQL-запросы для точного измерения того, что происходит внутри конкретной трассировки.

В этом разделе описывается, как измерить среднюю задержку выполнения JavaScript.

  1. В Perfetto перейдите к «Запрос (SQL)» на левой панели навигации.
  2. Введите следующий запрос:

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. Запустите запрос и проверьте результаты.

    Результаты SQL-запроса. Средняя задержка составляет 17693688 наносекунд.
    Результат запроса SQL составляет наносекунды.