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

Аукционы защищенной аудитории можно анализировать ( визуально или с помощью 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 откройте пример приложения Protected Audience из каталога 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. Включите «Обувь CA», чтобы убедиться, что активна хотя бы 1 пользовательская аудитория.

    В демо-приложении включен CA Shoes.
    Демонстрационное приложение Protected Audience.
  4. Запишите трассировку, используя файл trace_config.textproto из репозитория Privacy Sandbox DevTools GitHub:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
  5. Нажмите кнопку «Run Ad Selection» и дождитесь результатов аукциона. После завершения аукциона на выходе отобразится сообщение типа «Would display ad from http://example.com/bidding/render_shoes ».

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

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

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

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

    Perfetto UI проверяет сегмент трассировки. Видны детали задержки.
    Проверка сегмента трассы.

Защищенные сегменты трассировки, специфичные для аудитории

Аукцион защищенной аудитории — сложный процесс, и существует множество различных сегментов, зафиксированных трассировкой 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-запроса составляют наносекунды.