Yao Yue, en una sesión de su presentación en QCon San Francisco, invita a replantear la forma en que se muestran los datos de medición de los sistemas. El gráfico lineal, que se ha convertido en la forma predeterminada para la mayoría de los paneles de monitorización, puede ser adecuado para datos limpios y continuos, pero resulta menos útil cuando se multiplican las series temporales, aumenta el ruido o la pregunta planteada no está relacionada principalmente con el tiempo.
Yue se basa en 15 años de operación de sistemas a gran escala, siete de ellos trabajando en turnos para un servicio de nivel uno, así como en su experiencia previa en Twitter, donde dirigió el equipo de caché y posteriormente creó el equipo de rendimiento. Después de noviembre de 2022, participó en la fundación de IOP Systems, una empresa que trabaja para mejorar la eficiencia y la fiabilidad del software mediante la ingeniería inteligente del rendimiento.
El problema no está en la línea en sí
Yue explica que el gráfico lineal no solo muestra los puntos de medición, sino que también dibuja líneas entre cada dos puntos consecutivos. Esto implica añadir elementos visuales que en realidad no existen en los datos, o lo que describe como extrapolation, es decir, la interpolación entre mediciones. Puede ser útil cuando los datos son regulares, pero puede sugerir la existencia de una trayectoria entre dos mediciones sobre la que no tenemos información directa, especialmente en el caso de métricas en las que no sabemos qué ocurrió entre ellas.
El problema aumenta en los sistemas que incluyen un gran número de instancias o series temporales. La abundancia de líneas y colores puede dar al panel de monitorización un aspecto rico, pero no hace más claras las respuestas a preguntas como «¿Ha cambiado la tasa de producción?» o «¿El nuevo despliegue ha provocado un deterioro apreciable?». En muchos casos, solo un ingeniero experimentado capaz de pasar mucho tiempo examinando los detalles puede interpretar el gráfico, un patrón que Yue considera inadecuado para una ingeniería fiable.
Elegir la forma según la naturaleza de la medición
La ponente propone empezar por tres consideraciones: la forma de los datos, el tipo de medición y lo que el equipo quiere saber de ellos. Cuando los datos están saturados, pueden utilizarse promedios dentro de ventanas temporales o calcular los valores mínimo, máximo y promedio para reducir el ruido y resaltar las tendencias. Sin embargo, esta transformación debe servir a la pregunta planteada, no ser simplemente un medio para embellecer el gráfico.
Yue advierte que resumir los datos puede ocultar diferencias importantes. Cita la idea de «Datasaurus», según la cual varios conjuntos de datos pueden compartir la misma media y desviación estándar pese a tener formas radicalmente distintas al representar los valores sin procesar. Por ello, mostrar los puntos sin líneas puede ser más fiel en algunos casos, ya que deja claras las mediciones reales y no añade una trayectoria visual incierta.
Según la presentación, la mayoría de los datos de medición se divide en tres tipos principales: contadores, indicadores instantáneos e histogramas. Los contadores que aumentan con el tiempo pueden ser adecuados para las líneas, pero lo que suele mostrarse en las aplicaciones de monitorización no es el contador en bruto, sino la diferencia entre dos valores consecutivos, como la tasa de solicitudes o de errores. Yue considera que representar esta diferencia mediante segmentos o barras puede mostrar con mayor precisión el cambio acumulado y la variación.
En cuanto a los indicadores instantáneos, no garantizan nada sobre el periodo comprendido entre dos lecturas. El valor puede subir o bajar entre ambas mediciones sin que eso aparezca en los datos. Por este motivo, la ponente prefiere mostrar los puntos tal como son, con la menor cantidad posible de extrapolación. Respecto al tiempo de respuesta, subraya que un único valor no es suficiente, porque representa una distribución, no un número aislado. Los histogramas son una forma mejor de conservar la información de la cola, como P99 y P99.9, en lugar de reducirla a una sola línea.
¿Qué cambia en la práctica?
La propuesta principal de la presentación no consiste en sustituir todos los gráficos lineales, sino en vincular la visualización con la pregunta operativa. Si la pregunta es el efecto de la carga en el acuerdo de nivel de servicio, los datos pueden agruparse según rangos de carga, como intervalos de 500 o 5000 solicitudes por segundo, y después relacionarse con las distribuciones del tiempo de respuesta. Así, el gráfico muestra una relación directa entre carga y tiempo de respuesta, en lugar de revisar distintos días en busca del momento en que la carga alcanzó su máximo.
Del mismo modo, al comparar dos versiones del software, las mediciones pueden agruparse por versión y después compararse las distribuciones o los percentiles sin convertir el tiempo en el eje principal del análisis. Para elegir el tipo de hardware, la idea propone reunir los datos de rendimiento con otra información, como el tipo de instancia y el precio, con el fin de elaborar una tabla que compare los aspectos realmente relevantes para la decisión de dimensionamiento.
Lectura de certi.news
Esta perspectiva revela una limitación en la arquitectura de las herramientas de monitorización tanto como un problema de diseño visual. Los sistemas de almacenamiento de mediciones suelen estar construidos en torno al nombre de la métrica y sus atributos, por un lado, y a los valores y las marcas de tiempo, por otro. Esto hace que las consultas relacionadas con el valor a lo largo del tiempo sean relativamente sencillas, pero dificulta relacionar los valores de una métrica con los de otra, como vincular el tiempo de respuesta con la carga o comparar el rendimiento según la versión del software.
En la práctica, esto significa que mejorar un panel de monitorización no siempre empieza por elegir un color o un gráfico nuevos, sino por determinar la decisión a la que debe ayudar. Los equipos pueden necesitar reagrupar los datos o combinar fuentes externas a la base de datos de series temporales. Al mismo tiempo, la sesión no ofrece una receta única válida para todos; confirma que el tipo y la forma de la medición, así como la pregunta planteada, determinan la representación más adecuada, y que la fuente no demuestra que todas las herramientas de monitorización actuales proporcionen estas transformaciones automáticamente. Por ello, la posibilidad de experimentar, el acceso a los datos sin procesar y la comprensión de los límites de cada resumen siguen siendo cuestiones prácticas abiertas para los equipos de fiabilidad e ingeniería del rendimiento.