En este documento, se describe cómo agregar código de observabilidad a tu aplicación usando OpenTelemetry. OpenTelemetry proporciona bibliotecas de instrumentación que generan telemetría para frameworks populares. Puedes aumentar la telemetría generada por la biblioteca si agregas instrumentación personalizada que mida el comportamiento específico de la aplicación.
Los principios y conceptos que se describen en este documento se pueden aplicar a las apps escritas en todos los lenguajes compatibles con OpenTelemetry. Para obtener más información sobre la instrumentación, consulta los siguientes documentos:
El código de muestra, que es la misma app de Go que se describe en Genera seguimientos y métricas con Go, está disponible en GitHub. Para ver la muestra completa, haz clic enmore_vert Más y, luego, selecciona Ver en GitHub.
Antes de comenzar
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Crea seguimientos personalizados
Para generar seguimientos personalizados desde tu aplicación, agrega código de instrumentación que crea intervalos de OpenTelemetry. En OpenTelemetry, los intervalos son los componentes básicos de los seguimientos.
Para crear un intervalo, haz lo siguiente:
Modifica tu app para adquirir un
Tracer
de OpenTelemetry. En OpenTelemetry, un rastreador es un creador de intervalos. Puedes adquirir un rastreador como se muestra en el siguiente código:El nombre del rastreador, que se representa con
scopeName
, identifica el alcance de la instrumentación de los seguimientos generados.Usa la instancia
tracer
para crear intervalos. En el siguiente código de muestra, la funcióncomputeSubrequests
genera un intervalo cada vez que se la llama:En la muestra de código anterior, el intervalo generado a partir de la función
computeSubrequests
representa el trabajo que realizó toda la función. Esto se debe a que el primer paso de la función es iniciar un intervalo nuevo usandotracer.Start
, y la palabra clavedefer
antes despan.End()
garantiza que el intervalo finalice justo antes de que salga la función.
Crea métricas personalizadas
Para generar metricas desde la aplicación, agrega un código de instrumentación que registre las mediciones realizadas durante la ejecución de la app.
Para crear métricas, haz lo siguiente:
Modifica tu app para adquirir un
Meter
de OpenTelemetry. En OpenTelemetry, un medidor proporciona acceso a instrumentos de métricas para registrar métricas. Puedes adquirir un medidor como se muestra en el siguiente código:El nombre del medidor, que se representa con
scopeName
, identifica el alcance de la instrumentación de las métricas generadas.Usa la instancia
meter
para crear instrumentos que puedan registrar métricas. Por ejemplo, en el siguiente código, usamosmeter
para crear un histograma de OpenTelemetry:Este código anterior genera un histograma llamado
sleepHistogram
.Usa la instancia
sleepHistogram
para registrar el tiempo de suspensión, que se determina cuando se invoca la funciónrandomSleep
:Las métricas registradas de estos instrumentos se exportan desde tu aplicación en función de la configuración del exportador de OpenTelemetry.
¿Qué sigue?
- Correlaciona las métricas y los seguimientos con ejemplos
- OpenTelemetry
- Instrumentación de OpenTelemetry
- Modelo de datos de métricas de OpenTelemetry