Logs vs eventos en telemetría

Resumen

Los logs o registros son el tercer tipo de datos en telemetría y funcionan como una bitácora detallada de todo lo que ocurre dentro de una aplicación. A diferencia de los eventos, que resumen lo esencial, los logs te muestran cada paso, ideal para cuando necesitas depurar errores o entender a fondo el comportamiento de un sistema.

¿Qué son los logs y en qué se diferencian de los eventos?

Los logs registran acciones discretas y específicas, igual que los eventos, pero llevan la observación a un nivel mucho más granular. Un solo evento puede correlacionarse con muchas líneas de logs.

Piensa en el ejemplo de la máquina expendedora. Si a las 15:34 alguien compra una bolsa de chips, eso es un evento: describe lo clave de la interacción como el costo, el tiempo y el objeto. El log, en cambio, describe cada paso que ocurrió mientras ese evento sucedía.

¿Qué es un log en programación? Es un registro detallado de las acciones que ejecuta una aplicación. Guarda cada paso del proceso para que puedas revisarlo después, sobre todo cuando algo falla.

¿Cómo se ve un log frente a un evento?

Mientras el evento te dice qué pasó, el log te dice cómo pasó, paso por paso. Si encontrar un evento ya parecía buscar una aguja en un pajar, los logs son el pajar entero.

Una lectura típica de log para esa misma compra incluiría:

  • El usuario presionó tal botón.
  • El usuario seleccionó tal producto.
  • El usuario ingresó un billete de cierto monto.
  • La máquina entregó cambio por tal cantidad.

Todo queda registrado, línea por línea. Esa es la diferencia de fondo: granularidad.

¿Cuándo y cómo se utilizan los logs en un sistema?

Los logs son extremadamente versátiles. Casi todo en un sistema moderno emite o es capaz de emitir un log, lo que los convierte en una fuente rica de información para entender qué está pasando alrededor de un momento específico.

Su uso más simple es obtener una vista jugada a jugada de lo que ocurre en tu aplicación. Y aquí viene lo interesante: este nivel de detalle se vuelve oro puro cuando estás debuggeando, buscando un error o tratando de identificar qué línea de código necesitas corregir.

¿Cuándo debo usar logs en lugar de eventos? Usa logs cuando necesites investigar a profundidad qué pasó paso a paso, especialmente al depurar errores. Usa eventos cuando solo necesites saber el resumen de la interacción.

¿Por qué los logs pueden sobrecargarte?

La información de logs es mucho más robusta que la de un evento, y ahí está el reto. Si solo necesitas saber que a las 15:34 se vendieron unas papas de queso tipo chips y se pagó en efectivo, el evento te basta.

Pero si quieres darte un clavado para entender exactamente qué está fallando, los logs te dan ese mapa detallado. La clave está en distinguir cuándo necesitas resumen y cuándo necesitas detalle.

Habilidades, conceptos y datos clave de la clase

Para cerrar el panorama, vale la pena anclar los términos que aparecen en la explicación y entender su rol dentro de la telemetría.

  • Logs o registros [00:13]: tercer data type de la telemetría que registra acciones específicas y granulares de una aplicación.
  • Evento [00:35]: registro de alto nivel que resume lo importante de una interacción, como costo, tiempo y objeto.
  • Granularidad [01:08]: nivel de detalle con el que se captura información; los logs son más granulares que los eventos.
  • Debugging [01:48]: proceso de buscar y corregir errores en el código, donde los logs son especialmente útiles.
  • Correlación evento a logs [00:28]: un solo evento puede asociarse con múltiples líneas de log que describen los pasos que lo componen.

¿En qué proyecto te ha salvado un log al momento de depurar? Cuéntame en los comentarios cómo decides entre registrar un evento o un log completo.