Cómo Mozilla se ocupa de la salud de Firefox y qué puede aprender de él

Actualmente, estoy trabajando en un panel de control de salud de Firefox como parte de mi pasantía de Outreachy con Mozilla. Y estos son los principales objetivos que pretendemos alcanzar durante la pasantía.

  • Agregue nuevas funciones a la presentación gráfica de datos de desempeño
  • Transfiera el panel de JS Team (Firefox Performance) existente al panel de salud
  • Mejorar la información existente en los gráficos y corregir algunos errores.

El propósito principal de esta publicación es explicar el proyecto a alguien que no está en la comunidad y no está familiarizado con las cosas que estamos haciendo en Mozilla. La intención es ayudar a los principiantes y a otros colaboradores a comprender el panel de control para que puedan contribuir a este proyecto de código abierto con más sentido de lo que está sucediendo adentro.

¿Qué es el Panel de salud de Firefox?

Firefox Health es un proyecto para crear paneles de control para gerentes de proyectos e ingenieros. Muestra matrices y conocimientos de Firefox para ayudar a cumplir con los criterios de publicación. Permite incluir datos / métricas del rastreador de problemas de Mozilla (Bugzilla), datos de rendimiento (Perfherder), métricas de productos (telemetría) y algunas fuentes más. Todos los datos se muestran en forma de gráficos utilizando una biblioteca gráfica de código abierto ChartJS para mostrar información sobre diferentes fechas y plataformas.

Anteriormente se conocía como Platform Health. Fue refactorizado en enero de 2018 como Firefox Health Dashboard. Uno de los principales cambios en esta refactorización fue separar el backend del front-end. Esta mejor capacidad de mantenimiento del código.

Tecnologías:

El backend está escrito usando NodeJS y Koa. El front-end se construye usando ReactJS junto con una biblioteca gráfica de código abierto ChartJS. Algunos de los datos provienen de diferentes hosts a través de diferentes bibliotecas. Por ejemplo, perf-google está consultando a Perfherder de Mozilla para obtener datos de rendimiento. La información sobre el error reportado proviene de Bugzilla. Por lo tanto, si planea contribuir en el futuro, debe comprender las tecnologías mencionadas anteriormente.

Este panel se adapta al rendimiento de diferentes versiones y dispositivos de Firefox. Pero hoy vamos a hablar sobre Firefox android y cómo los ingenieros de Mozilla se encargan de su rendimiento.

Datos / métricas para Firefox android

Actualmente, los datos para Android de Firefox provienen de diferentes fuentes. Mostramos los datos en forma de gráficos para una mejor comprensión y análisis. Puede ver toda la información de Firefox android en el panel de salud. Aquí hay algunas fuentes e información sobre Firefox Android para ayudar a los ingenieros a mejorar el rendimiento del navegador.

Bugzilla:

Desarrollado por Mozilla, Bugzilla es una herramienta gratuita de código abierto para rastrear errores, problemas y solicitudes de cambio en aplicaciones grandes y complejas. Es utilizado por miles de organizaciones para realizar un seguimiento del rendimiento de sus productos. Lo estamos utilizando en el Panel de salud para vigilar los errores que aparecen en Firefox Android.

Como se mencionó anteriormente, estamos usando ChartJS para mostrar datos. Aquí tenemos un gráfico que representa el número de errores reportados en diferentes fechas para Firefox Android en Bugzilla. Los errores con la etiqueta P1 tienen la máxima prioridad. Deben repararse lo antes posible. Luego vienen los errores P2 con la segunda prioridad más alta. Los errores de nivel P3 tienen la prioridad más baja y los ingenieros pueden corregirlos cuando tengan tiempo. Esto ayuda a los desarrolladores y gerentes de producto a revisar errores de diferentes prioridades de manera más efectiva y resolverlos según la prioridad.

NimbleDroid:

Estamos utilizando un servicio de terceros llamado NimbleDroid para obtener información sobre los datos después de ejecutar las pruebas en Firefox Android. NimbleDroid es un servicio de prueba de rendimiento funcional para dispositivos Android e IOS.

Supervise cada flujo de usuarios críticos para cada compilación de su aplicación móvil. Identifique los problemas que degradan la experiencia del usuario al principio del ciclo de desarrollo. Integre perfectamente con su flujo de trabajo de CI. - Sitio oficial

Telemetría:

La telemetría es una herramienta que tiene la capacidad de proporcionar información de uso y rendimiento a Mozilla para ayudar a los ingenieros y tomadores de decisiones a medir el rendimiento de Firefox en el mundo real. Tiene la capacidad de recopilar información de rendimiento, hardware, uso, personalización y otra información no personal del usuario de Firefox y enviarla a Mozilla a diario para ayudar a los ingenieros a mejorar la calidad y la eficiencia del navegador.

Para un dispositivo Android, el navegador mide el tiempo que tarda en cargar una página de contenido en un dispositivo y lo informa a través de Telemetría. Luego lo mostramos en forma gráfica. Por ejemplo, la captura de pantalla dice que el 75% de los usuarios reportaron un tiempo total de carga de la página de contenido de 4.9 segundos el 19 de septiembre de 2018. Y estos datos se recopilan de diferentes dispositivos de diferentes usuarios. Esto ayuda a los ingenieros a vigilar el tiempo de carga del navegador para mejorar su velocidad y hacerlo más eficiente.

Perfherder:

Perfherder es un sistema para ayudar a los ingenieros a visualizar y analizar los datos de rendimiento producidos por las numerosas pruebas automatizadas que se ejecutan en productos Mozilla como Firefox o Firefox Android. Perfherder es parte del proyecto Treeherder. Es otro panel de control para los registros de los proyectos de Mozilla. El objetivo principal de esta herramienta es asegurarse de que el rendimiento de Firefox mejore con el tiempo. Ayuda a los desarrolladores a comprender sus cambios y posibles soluciones informando regresiones.

En los próximos artículos, hablaremos sobre el panel del equipo de Firefox Quantum y JS. Veremos cómo funcionan estas herramientas para mejorar el rendimiento del navegador Firefox.

Guía de contribución:

Si te preocupa la salud de Firefox o estás interesado en contribuir al proyecto, este es el camino.

  • Clone y configure el proyecto en su máquina local
  • Siga el archivo Léame
  • Y comience con lo bueno primero si le resulta abrumador comenzar

Estén atentos para saber más sobre las maravillas que estamos haciendo en Mozilla.