Instrumentación

Cómo OpenTelemetry facilita la instrumentación

Para que un sistema sea observable, debe estar instrumentado: esto significa que el código de los componentes del sistema debe emitir señales, como trazas, métricas, y logs.

Con OpenTelemetry, puedes instrumentar tu código principalmente de dos formas:

  1. Soluciones basadas en código a través de APIs y SDKs oficiales para la mayoría de los lenguajes
  2. Soluciones sin código

Las soluciones basadas en código te permiten obtener una visión más detallada y una telemetría rica desde la propia aplicación. Te permiten usar el API de OpenTelemetry para generar telemetría desde tu aplicación, lo que actúa como un complemento esencial a la telemetría generada por las soluciones sin código.

Las soluciones sin código son excelentes para empezar o cuando no puedes modificar la aplicación de la que necesitas obtener telemetría. Proporcionan una telemetría abundante de las librerías que utilizas y/o del entorno en el que se ejecuta tu aplicación. Otra forma de verlo es que proporcionan información sobre lo que está sucediendo en los límites de tu aplicación.

Puedes utilizar ambas soluciones simultáneamente.

Beneficios adicionales de OpenTelemetry

OpenTelemetry ofrece más que solo soluciones de telemetría sin código y basadas en código. Los siguientes aspectos también forman parte de OpenTelemetry:

  • Las librerías pueden usar la API de OpenTelemetry como una dependencia, lo que no tendrá ningún impacto en las aplicaciones que usen esa librería, a menos que se importe el SDK de OpenTelemetry.
  • Para cada una de las señales, tienes varios métodos a tu disposición para crearlas, procesarlas y exportarlas.
  • Con la propagación de contexto integrada en las implementaciones, puedes correlacionar señales independientemente de dónde se generen.
  • Los Recursos y Ámbitos de Instrumentación permiten agrupar señales por diferentes entidades, como el host, el sistema operativo o el clúster de K8s.
  • Cada implementación de la API y el SDK para un lenguaje específico sigue los requisitos y expectativas de la Especificación de OpenTelemetry.
  • Las Convenciones Semánticas proporcionan un esquema de nombres común que se puede usar para la estandarización en bases de código y plataformas.

Sin código

Aprende a añadir observabilidad a una aplicación sin necesidad de escribir código

Basado en código

Learn the essential steps in setting up code-based instrumentation

Librerías

Aprende a añadir instrumentación nativa a tu librería