Blogs Observabilidad

Por qué la observabilidad necesita el contexto del código para corregir errores

La observabilidad les dice a los equipos qué falló; El contexto del código explica dónde solucionarlo. A continuación se explica cómo conectar registros, seguimientos, propiedad y solicitudes de extracción.

observabilidadcontexto del códigoerrores de producciónregistrosrastrospropiedad

La mayoría de las pilas de observabilidad son excelentes para responder una pregunta: ¿qué pasó?

Son más débiles ante la siguiente pregunta: ¿dónde lo arreglamos?

Esa brecha es donde la respuesta a incidentes se ralentiza. El equipo ve la tasa de error, abre el seguimiento, lee los registros, verifica el cronograma de implementación y luego aún tiene que buscar el código base a mano.

Un incidente familiar

Imagine que una API comienza a devolver 500 intermitentes después de una implementación. El tablero muestra el pico. Los puntos de seguimiento se encuentran en el servicio de caja. Los registros incluyen un error de validación, pero el mensaje es genérico.

En ese momento, el equipo no necesita otro gráfico. Necesita dirección:

  • el repositorio que posee el pago
  • el controlador conectado a la ruta fallida
  • la confirmación reciente que cambió el comportamiento de validación
  • la persona o equipo que debe revisar la solución

Ese es el contexto del código.

Por qué es importante el contexto del código

La observabilidad sin contexto de código crea conciencia. La observabilidad con el contexto del código crea un camino hacia la reparación.

La diferencia es pequeña pero operativamente importante. Un seguimiento puede indicarle que una solicitud falló PUBLICAR/pagar. El contexto del código puede apuntar a la rama de validación, el archivo que cambió ayer y el propietario que normalmente revisa esa área.

Ese mapeo salva la primera hora de muchos incidentes.

El contexto mínimo útil

No es necesario adjuntar toda la investigación a una solicitud de extracción. Un revisor normalmente necesita un conjunto compacto de hechos:

  • síntoma de producción
  • servicio afectado
  • archivo o función probable
  • implementación reciente o cambio de código
  • propietario o revisor
  • propuesta de siguiente acción

Cualquier cosa más debería respaldar esos hechos, no enterrarlos.

Donde terminan los paneles

Los paneles sirven para ver el comportamiento del sistema. Las solicitudes de extracción sirven para cambiar el comportamiento del sistema. Un flujo de trabajo de remediación saludable conecta esos mundos en lugar de pedir a los ingenieros que los conecten manualmente cada vez.

Si la señal no puede encontrar el código, la alerta se convierte en otro elemento de la cola. Si la señal puede encontrar el código, el equipo puede decidir si parchear, revertir, abrir un elemento del trabajo pendiente o investigar más a fondo.

Hacia qué construir

El objetivo práctico no es una mayor superficie de observabilidad. Es un camino más corto:

señal de producción -> contexto del código -> acción revisable

Esa acción podría ser una solicitud de extracción. Podría ser un problema de Jira. Podría ser una nota que diga que el problema pertenece a un proveedor ascendente. La cuestión es que el equipo no debería tener que empezar con una investigación en blanco cada vez que habla la producción.

La observabilidad muestra el fracaso. El contexto del código le da al error un lugar al que ir.

Ejecuta el ciclo

Convierte señales de producción en fixes revisados.

Empieza una prueba gratuita y descubre cómo Prilog conecta incidentes reales con pull requests a nivel de código.