Chromium Chronicle #20: comparativos de mercado de arcabouços de testes

Episódio 20:de John Chen em Bellevue, WA (abril de 2021)
Episódios anteriores

A velocidade é um dos quatro princípios fundamentais do Chrome. Adicionar comparações é uma maneira fácil de evitar regressões de performance e ajudar a melhorar a performance ao longo do tempo. Bons comparativos de mercado têm um ciclo de iteração rápido, podem capturar regressões de desempenho muito antes de UMA e são ótimos para medir o desempenho de um novo recurso.

As comparações são executadas regularmente no laboratório. Quando uma regressão é encontrada, bisect encontra automaticamente o CL culpado e atribui um bug ao proprietário do CL.

Os comparativos de mercado do Chrome combinam sequências de interações de páginas da Web (chamadas de histórias) com medições de desempenho. Casos semelhantes são agrupados em arreios de comparativo de mercado. As novas comparações geralmente se encaixam em um dos arcabouços já existentes:

  • Integridade do sistema
  • Carregando
  • Memória
  • Renderização
  • Eletricidade
  • Inicialização
  • Ambiente de execução do V8
  • Mídia
  • WebRTC
  • Imprensa
  • Blink Perf.

O framework de telemetria reproduz novamente as histórias gravadas para simular as interações do usuário com o Chrome e, ao mesmo tempo, coletar rastros que registram as atividades do navegador. Após o término das histórias, o framework executa várias métricas de desempenho para analisar os traces e calcular os resultados.

É possível cobrir a maioria dos novos casos de teste de desempenho no Chrome adicionando uma nova história, usando uma métrica existente em um dos arcabouços existentes. Também é possível coletar outros traces e adicionar mais métricas aos comparativos de mercado atuais ou transmitir outras sinalizações ao navegador.

Use o Blink Perf em casos únicos que não se encaixam em outros arcabouços. No Blink Perf, é possível medir eventos de rastreamento em páginas únicas.

Mantenha suas histórias de comparação simples e inclua apenas o conjunto mínimo de interações necessárias para concluir o cenário. Se um caso de teste for complexo, poderá ser difícil de automatizar ou instável.

Limite os testes ao menor número que cobre os casos de uso mais importantes. A manutenção da infraestrutura de comparativo de mercado é cara. Consulte Dispositivos de velocidade do Chrome para ver uma lista de hardwares com suporte.

Há mais de uma maneira de medir a performance. Comparações baseadas em telemetria controlam o Chrome a partir de um processo externo, e isso nem sempre oferece o nível de controle necessário. Como alternativa, as comparações baseadas em gtest permitem que o código de teste compartilhe o mesmo processo que o código do Chrome. Também é possível considerar outras ferramentas de desempenho, como usar UMA para medir o desempenho nos dispositivos dos usuários em vez de fazer isso no laboratório.

Quer saber mais sobre as comparações do Chrome? Entre em contato com telemetria@chromium.org.

Outros recursos