OpenTelemetry proporciona un rico ecosistema de rastreo, con una API para registrar traza telemetría, un SDK para exportar datos de tramo y distribución del contexto para rastrear a través de los límites de las aplicaciones.
Esta página describe cómo New Relic maneja los intervalos de OpenTelemetry que recibe a través del extremo OTLP New Relic . Para enviar OpenTelemetry trazas a New Relic, deberá configurar su fuente de trazas para exportar datos al New Relic OpenTelemetry recolector a través del extremo OTLP. Vea las siguientes páginas:
- Para conocer los requisitos de configuración del extremo, consulte Extremo OTLP New Relic .
- Para obtener instrucciones sobre cómo configurar servicios con OpenTelemetry, consulte MonitoreoOpenTelemetry APM .
Mapeo de tramo OTLP
New Relic asigna intervalos OTLP al tipo de datos Span . La siguiente tabla describe cómo se interpretan los campos de las definiciones de mensajes del protocolo traza :
Campo proto OTLP | Campo New Relic |
|---|---|
| Cada valor principal es un atributo en el |
|
|
|
|
| Cada valor principal es un atributo en el |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Cada valor principal es un atributo en el |
|
|
| Cada evento se registra como |
| Almacenado como |
| Almacenado como |
| Cada valor principal se almacena como un atributo en |
| Almacenado como |
|
|
|
|
|
|
Notas a pie de tabla
[1] En caso de conflicto en el atributo de recurso, el atributo de alcance, el atributo span y los campos span de nivel superior, el orden del precedente (de mayor a menor) es los campos de nivel superior Span.* > Span.attributes > ScopeSpans.InstrumentationScope.attributes > ResourceSpans.Resource.attributes.
Consulte Tipos de atributos OTLP para obtener detalles sobre los tipos de atributos compatibles con OTLP extremo New Relic y los límites de atributos OTLP para obtener detalles sobre la validación realizada en los atributos.
Enlaces de extensión
New Relic admite enlaces span de OpenTelemetry, que permiten crear relaciones causales entre intervalos que no tienen una conexión padre-hijo directa. Los enlaces de tramo son esenciales para comprender el rastreo distribuido que se divide en límites asincrónicos como cola de mensajes, flujos de eventos y sistemas de procesamiento por lotes.
Cuándo emplear enlaces span
Emplee enlaces span en los siguientes escenarios:
- Message queue producers and consumers: Vincule un intervalo de consumo con el intervalo de producción al procesar mensajes de colas como AWS SQS, RabbitMQ o Kafka.
- Fan-in patterns: Vincular múltiples trazas de productores a una única traza de consumidores que agregue sus productos.
- Batch processing:Los enlaces abarcan los procesos de mensajes por lotes hasta su traza de origen individual.
- Long-running workflows:Conecta tramos a través de pasos del flujo de trabajo que exceden los límites normales de duración del trazado.
Implementación de enlaces span
Para implementar enlaces span en su instrumentación OpenTelemetry, necesita:
- Extraer contexto de traza del mensaje entrante o evento
- Crear un enlace de intervalo al iniciar un nuevo intervalo en el consumidor
- Cerciorar de que el contexto de traza se propague a través de su infraestructura de mensajería
Los siguientes ejemplos muestran cómo implementar enlaces span en diferentes idiomas:
mejores prácticas para enlaces span
Al implementar enlaces de tramo, siga estas mejores prácticas:
Always propagate trace context:Cerciorar de que el contexto de seguimiento W3C (encabezados
traceparentytracestate) estén incluidos en los encabezados o metadatos del mensaje.Validate span context:Siempre verifique si el contexto de intervalo extraído es válido antes de crear un enlace de intervalo. Los contextos no válidos no deben crear enlaces.
Use appropriate span kinds:Establezca el tipo
PRODUCERpara los intervalos de publicación de mensajes y el tipoCONSUMERpara los intervalos de procesamiento de mensajes.Add messaging attributes:Incluya convenciones semánticas para sistemas de mensajería (como
messaging.system,messaging.destination,messaging.operation) para proporcionar contexto.Consider sampling:Ambas trazas vinculadas deben muestrearse para que aparezcan en New Relic. Ajustar las estrategias de ejemplificación para flujos de trabajo críticos que emplean enlaces span.
Handle batch processing carefully:Al procesar mensajes por lotes, cree enlaces de intervalo individuales para cada mensaje para mantener la trazabilidad.
Visualización de enlaces span en New Relic
Una vez que implementó enlaces span en su instrumentación, puede verlos y navegar por ellos en la UI New Relic :
- Vaya a la página de detalles de traza para obtener una traza
- Busque la insignia de enlaces de tramo en la barra de filtro que muestra la cantidad de tramos con enlaces
- Seleccione un lapso con enlaces para ver la pestaña Span links en el panel de detalles del lapso
- Haga clic en el trazado vinculado para navegar entre los trazados relacionados
Para obtener información detallada sobre el uso de enlaces span en la UI, consulte Descripción de los enlaces span.