Os leilões da Protected Audience podem ser analisados visualmente ou por consulta SQL com o Perfetto. As adtechs podem usar a criação de perfil com o Perfetto para medir o desempenho de leilões da Protected Audience, incluindo:
- Tempo de CPU de script de lances e pontuação.
- Latência de solicitações HTTP, como serviço de chave-valor.
- Impacto do cache frio versus o cache quente no desempenho
- Mais x menos públicos-alvo personalizados
- Conjuntos de indicadores maiores e menores
- Scripts de lógica de lances diferentes por público-alvo personalizado em comparação com o uso do mesmo script para todos os lances.
Configurar
Clone os repositórios do Perfetto e do Sandbox de privacidade.
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
No Android Studio, abra o app de exemplo da Protected Audience no diretório
privacy-sandbox-samples/Fledge/FledgeKotlin
.Crie e instale o app de exemplo no dispositivo ou emulador de teste.
Fazer um leilão e gerar um rastro do Perfetto
- Configure e implante endpoints HTTPS de teste. Anote o URL dos endpoints hospedados, porque eles são necessários para que o app de demonstração da Protected Audience funcione.
Inicie o app de demonstração com um URL de endpoint de teste especificado. Substitua
<test-endpoint-url>
por um URL do endpoint hospedado que você registrou na etapa anterior.adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
Ative a opção "Shoes CA" para garantir que haja pelo menos um público-alvo personalizado ativo.
App de demonstração da Protected Audience. Registre um rastro usando o arquivo trace_config.textproto (link em inglês) do repositório DevTools do Sandbox de privacidade no GitHub:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
Toque no botão "Run Ad Selection" (Executar a seleção de anúncios) e aguarde os resultados do leilão. Quando o leilão estiver concluído, a saída vai mostrar uma mensagem como "Would display ad from
http://example.com/bidding/render_shoes
".No seu terminal, encerre (CTRL+C) o programa
record_android_trace
para concluir o rastro. A interface do Perfetto é aberta no navegador com os dados de rastro carregados.
Analisar rastros visualmente no Perfetto
Pesquise "RunOnDeviceAdSelection" usando a barra de endereço na parte de cima da interface. Clique em Enter para concluir a pesquisa e mostrar os resultados:
Leilão da Protected Audience de comprador único no Perfetto. Clique em um rastro para inspecionar. Detalhes como a latência de execução são mostrados.
Como inspecionar um segmento de rastro .
Segmentos de rastreamento específicos para a Protected Audience
O leilão da Protected Audience é um processo complexo, e muitos segmentos diferentes são capturados pelo rastro do Perfetto. Esta tabela documenta o que cada segmento de rastro representa.
Estágio | Segmento | Descrição | Frequência |
---|---|---|---|
Pré-leilão | RunOnDeviceAdSelection |
Leilão completo | Por leilão |
Lances (para compradores) | FilterContextualAds |
Realizar a instalação do app e a filtragem do limite de frequência em anúncios contextuais | Por leilão |
GetBuyersCustomAudience |
Carregar o público-alvo personalizado do comprador a partir do banco de dados | Por comprador | |
FilterCustomAudiences |
Realizar a instalação do app e a filtragem do limite de frequência em anúncios personalizados | Por leilão | |
GetTrustedBiddingSignals |
Carregar os indicadores de lances do comprador | Por comprador | |
RunBiddingPerCustomAudience |
Lances de anúncio para um único público-alvo personalizado | Por público-alvo personalizado | |
GetBuyerDecisionLogic |
Carregar o JavaScript do comprador pela rede ou, se armazenado em cache, pelo banco de dados. | Por público-alvo personalizado | |
RunBidding |
Execução do JavaScript para um comprador | Por comprador | |
GenerateBids |
Execução do JavaScript para um público-alvo personalizado | Por público-alvo personalizado | |
Pontuação (para vendedores) | GetTrustedScoringSignals |
Carregar os indicadores de pontuação do vendedor | Por vendedor |
RunAdScoring |
Execução de JavaScript para pontuação | Por leilão | |
ScoreAd |
Execução de JavaScript de um anúncio | Por anúncio | |
GetAdSelectionLogic |
Carregar a lógica de seleção de anúncios do vendedor | Por leilão | |
RunAdOutcomeSelection |
Filtragem final | Por leilão | |
Pós-leilão | PersistOnDeviceAdSelection |
Gravar o resultado do leilão no banco de dados | Por leilão |
Consultar latência média de execução
O Perfetto pode usar consultas SQL para ter uma medição precisa do que está acontecendo em um rastro específico.
Nesta seção, documentamos como medir a latência média de execução do JavaScript.
- No Perfetto, acesse "Query (SQL)" no painel de navegação à esquerda.
Digite esta consulta:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
Execute a consulta e confira os resultados.
O resultado da consulta SQL em nanossegundos.