Métricas de trazas

Información general

Las métricas de rastreo de aplicación se recopilan después de activar la recopilación de traza e instrumentar tu aplicación.

Métricas de traza

Estas métricas capturan recuentos de solicitud, error y medidas de latencia. Se calculan basándose en el 100% del tráfico de la aplicación, independientemente de cualquier configuración de muestreo de ingesta de traza. Asegúrate de tener una visibilidad completa del tráfico de tu aplicación con estas métricas para detectar posibles errores en un servicio o un recurso, y creando dashboards, monitores y SLOs.

Nota: Si tus aplicaciones y servicios están instrumentados con bibliotecas de OpenTelemetry y configuras el muestreo en el nivel del SDK o en el nivel del Collector, las métricas de APM se calculan basándose en el conjunto de datos muestreados.

Las métricas de traza se generan para los tramos de entrada del servicio y ciertas operaciones según el lenguaje de la integración. Por ejemplo, la integración de Django produce métricas de traza a partir de tramos que representan varias operaciones (1 tramo raíz para la solicitud de Django, 1 para cada middleware y 1 para la vista).

El espacio de nombre de las métricas de traza se formatea de esta manera:

  • trace.<SPAN_NAME>.<METRIC_SUFFIX>

Con las siguientes definiciones:

<SPAN_NAME>
el nombre de la operación o span.name (ejemplos: redis.command, pylons.request, rails.request, mysql.query).
<METRIC_SUFFIX>
el nombre de la métrica (ejemplos: hits, errors, apdex, duration). Consulta la sección siguiente.
<TAGS>
etiquetas de métricas de traza, las posibles etiquetas son: env, service, version, resource, http.status_code, http.status_class y etiquetas del Datadog Agent (incluyendo el host y la segunda etiqueta primaria). Nota: Otras etiquetas establecidas en tramos no están disponibles como etiquetas en métricas de trazas.

Sufijo de métrica

Resultados

trace.<SPAN_NAME>.hits
Requisito previo: esta métrica existe para cualquier servicio de APM .
Descripción: representa el recuento de tramos creados con un nombre específico (por ejemplo, redis.command, pylons.request, rails.request, o mysql.query).
Tipo de métrica: COUNT.
Etiquetas: env, service, version, resource, resource_name, http.status_code, todas las etiquetas de host del Datadog host Agent y la segunda etiqueta primaria.
trace.<SPAN_NAME>.hits.by_http_status
Requisito: esta métrica existe para servicios HTTP/WEB de APM si existen metadatos http.
Descripción: representa el recuento de resultados para un determinado tramo desglosado por código de estado de HTTP.
Tipo de métrica: COUNT.
Etiquetas: env, service, version, resource, resource_name, http.status_class, http.status_code, todas las etiquetas de host del Datadog Host Agent y la segunda etiqueta primaria.

Distribución de la latencia

trace.<SPAN_NAME>
Requisito: esta métrica existe para cualquier servicio de APM.
Descripción: representa la distribución de latencia para todos los servicios, recursos y versiones a través de diferentes entornos y segundas etiquetas primarias.
Tipo de métrica: DISTRIBUTING.
Etiquetas: env, service,version, resource, resource_name, http.status_code, synthetics y la segunda etiqueta primaria.

Errores

trace.<SPAN_NAME>.errors
Requisito: esta métrica existe para cualquier APM servicio .
Descripción: representa el recuento de errores para un determinado tramo (span).
Tipo de métrica: COUNT.
Etiquetas: env, service, version, resource, resource_name, http.status_code, todos host etiquetas (tags) del Datadog host Agent , y el segundo primario etiquetar.
trace.<SPAN_NAME>.errors.by_http_status
Requisito: esta métrica existe para cualquier servicio de APM.
Descripción: representa el recuento de errores para un determinado tramo.
Tipo de métrica: COUNT.
Etiquetas: env, service, version, resource, http.status_class, http.status_code, todas las etiquetas de host del Datadog Host Agent , y la segunda etiqueta primaria.

Apdex

trace.<SPAN_NAME>.apdex
Requisito: esta métrica existe para cualquier servicio HTTP o web de APM.
Descripción: mide la puntuación Apdex de cada servicio web.
** Tipo de métrica:** GAUGE.
Etiquetas: env, service, version, resource/resource_name, synthetics y la segunda etiqueta primaria.

Duración

trace.<SPAN_NAME>.duration
Requisito: esta métrica existe para cualquier servicio de APM.
Descripción: mide el tiempo total para una colección de tramos dentro de un intervalo de tiempo, incluyendo los tramos secundarios vistos en el servicio de recopilación. Para la mayoría de los casos de uso, Datadog recomienda utilizar la Distribución de latencia para calcular la latencia media o los percentiles. Para calcular la latencia media con filtros de etiqueta de host, puedes utilizar esta métrica con la siguiente fórmula:
sum:trace.<SPAN_NAME>.duration{<FILTER>}.rollup(sum).fill(zero) / sum:trace.<SPAN_NAME>.hits{<FILTER>}
Este métrica no admite agregaciones de percentiles. Lee la sección Distribución de latencia para obtener más información. Tipo de métrica: GAUGE.
Etiquetas: env, service, resource, http.status_code, todas las etiquetas de host del Datadog Host Agent , y la segunda etiqueta primaria.

Duración por

trace.<SPAN_NAME>.duration.by_http_status
Requisito: esta métrica existe para servicios HTTP/WEB de APM si existen metadatos http.
Descripción: mide el tiempo total de un conjunto de tramos para cada estado HTTP. Específicamente, es la parte relativa del tiempo empleado por todos los tramos durante un intervalo y un estado HTTP dado; incluyendo el tiempo de espera en los procesos secundarios.
Tipo de métrica: GAUGE.
Etiquetas: env, service, resource, http.status_class, http.status_code, todas las etiquetas del Datadog Host Agent y la segunda etiqueta primaria.

Leer más