Chromium Chronicle n.o 20: Arneses de pruebas de comparativas

Episodio 20: de John Chen en Bellevue, Washington (abril de 2021)
Episodios anteriores

La velocidad es uno de los cuatro principios fundamentales de Chrome. Agregar comparativas es una forma fácil de evitar regresiones de rendimiento y ayudar a mejorarlo con el tiempo. Las buenas comparativas tienen un ciclo de iteración rápido, pueden detectar regresiones de rendimiento mucho antes que el UMA y son excelentes para medir el rendimiento de una función nueva.

Las comparativas se ejecutan con regularidad en el lab. Cuando se encuentra una regresión, bisect encuentra automáticamente la CL causante y le asigna un error al propietario de la CL.

Las comparativas de Chrome combinan secuencias de interacciones de páginas web (llamadas historias) con mediciones de rendimiento. Los casos similares se agrupan en arneses de comparativas. Por lo general, las comparativas nuevas se ajustan a uno de los agentes existentes:

  • Estado del sistema
  • Cargando
  • Memoria
  • Renderización
  • Electricidad
  • Inicio
  • Tiempo de ejecución de V8
  • Medios
  • WebRTC
  • Prensa
  • Parpadeo

El framework de telemetría vuelve a reproducir historias grabadas para simular las interacciones del usuario con Chrome mientras recopila registros que registran las actividades de Chrome. Una vez que finalizan las historias, el framework ejecuta varias métricas de rendimiento para analizar los seguimientos y calcular los resultados de rendimiento.

Puedes cubrir la mayoría de los casos de prueba de rendimiento nuevos en Chrome si agregas una historia nueva, con una métrica existente dentro de los agentes existentes. También puedes recopilar seguimientos adicionales y agregar más métricas a las comparativas existentes o pasar marcas adicionales al navegador.

Usa Blink Perf para casos únicos que no caben en otros arneses. En Blink Perf, puedes medir los eventos de seguimiento en páginas únicas.

Mantén la simplicidad de las historias de comparativas y solo incluye el conjunto mínimo de interacciones necesarias para completar tu situación. Si un caso de prueba es complejo, puede ser difícil de automatizar o puede ser inestable.

Limita las pruebas al número mínimo que abarque los casos de uso más importantes. La infraestructura de comparativas es costosa de mantener. Consulta Dispositivos de velocidad de Chrome para obtener una lista del hardware compatible.

Existe más de una forma de medir el rendimiento. Las comparativas basadas en telemetría controlan Chrome desde un proceso externo, lo que no siempre ofrece el nivel de control necesario. Como alternativa, las comparativas basadas en gtest permiten que el código de prueba comparta el mismo proceso que el código de Chrome. También puedes considerar otras herramientas de rendimiento, como el uso de UMA para medir el rendimiento en los dispositivos de los usuarios en lugar de hacerlo en el lab.

¿Deseas obtener más información sobre las comparativas de Chrome? Comunícate con telemetry@chromium.org.

Recursos adicionales