OpenTelemetry fornece um rico ecossistema de rastreamento, com uma API para registrar telemetria de trace um SDK para exportar dados de extensão e propagação de contexto para rastreamento através dos limites do aplicativo.
Esta página descreve como New Relic lida com os intervalos OpenTelemetry que recebe por meio do New Relic OTLP endpoint. Para enviar o rastreamento OpenTelemetry para New Relic, você precisará configurar sua origem trace para exportar dados para o coletor do New Relic OpenTelemetry por meio do endpoint OTLP. Veja as páginas seguintes:
- Para requisitos de configuração endpoint , consulte New Relic OTLP endpoint.
- Para obter instruções sobre como configurar serviços com OpenTelemetry, consulte MonitoramentoOpenTelemetry APM .
Mapeamento de intervalo OTLP
O New Relic mapeia extensões OTLP para o tipo de dados Span . A tabela abaixo descreve como os campos das definições de mensagens do protocolo de rastreamento são interpretados:
Campo proto OTLP | Campo New Relic |
|---|---|
| Cada valor principal é um atributo no |
|
|
|
|
| Cada valor principal é um atributo no |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Cada valor principal é um atributo no |
|
|
| Cada evento é registrado como um |
| Armazenado como |
| Armazenado como |
| Cada valor principal é armazenado como um atributo no |
| Armazenado como |
|
|
|
|
|
|
Notas de rodapé da tabela
[1] Em caso de conflito nos campos atributo de recurso, atributo de escopo, atributo de extensão e extensão de nível superior, a ordem de precedente (do maior para o menor) é os campos de nível superior Span.* > Span.attributes > ScopeSpans.InstrumentationScope.attributes > ResourceSpans.Resource.attributes.
Consulte os tipos de atributos OTLP para obter detalhes sobre os tipos de atributos suportados New Relic OTLP endpoint e os limites de atributos OTLP para obter detalhes sobre a validação realizada no atributo.
Links de extensão
O New Relic suporta links de span do OpenTelemetry, que permitem criar relações causais entre spans que não possuem uma conexão direta pai-filho. Os links de span são essenciais para a compreensão de rastreamentos distribuídos que são divididos em limites assíncronos, como filas de mensagens, fluxos de eventos e sistemas de processamento em lote.
Quando usar links span
Utilize links de extensão (span) nos seguintes cenários:
- Message queue producers and consumersAo processar mensagens de filas como AWS SQS, RabbitMQ ou Kafka, vincule um span de consumo ao span de produção.
- Fan-in patternsVincular vários rastreamentos de produtores a um único trace de consumidores que agrega suas saídas.
- Batch processing: Vincula trechos de links que processam mensagens em lote de volta ao seu rastreamento de origem individual.
- Long-running workflowsConecta trechos que atravessam etapas de fluxo de trabalho que excedem os limites normais de duração trace.
Implementando links de extensão
Para implementar links de extensão em sua instrumentação OpenTelemetry, você precisa:
- Extrair o contexto do trace da mensagem ou evento recebido
- Crie um link de span ao iniciar um novo span no consumidor.
- Garanta que o contexto do trace seja propagado por toda a sua infraestrutura de mensagens.
Os exemplos a seguir mostram como implementar links de extensão em diferentes idiomas:
práticas recomendadas para links de extensão
Ao implementar links de extensão, siga estas práticas recomendadas:
Always propagate trace context: Garantir que o contexto de rastreamento W3C (cabeçalhos
traceparentetracestate) esteja incluído nos cabeçalhos da mensagem ou.Validate span contextSempre verifique se o contexto do span extraído é válido antes de criar um link span. Contextos inválidos não devem criar links.
Use appropriate span kindsDefina o tipo
PRODUCERpara os intervalos de publicação de mensagens e o tipoCONSUMERpara os intervalos de processamento de mensagens.Add messaging attributes: Inclua convenções semânticas para sistemas de mensagens (como
messaging.system,messaging.destination,messaging.operation) para fornecer contexto.Consider samplingAmbos os rastreamentos vinculados devem ser amostrados para aparecerem no New Relic. Ajustar estratégias de amostragem para fluxos de trabalho críticos que usam links de extensão.
Handle batch processing carefullyAo processar mensagens em lote, crie links de intervalo individuais para cada mensagem para manter a rastreabilidade.
Visualizando links de extensão no New Relic
Depois de implementar links de extensão em sua instrumentação, você poderá visualizá-los e navegar por eles na interface do usuário do New Relic:
- Acesse a página de detalhestrace para obter um trace
- Procure o selo de links de span na barra de filtros, que mostra o número de spans com links.
- Selecione um elemento span com links para ver a guia Span links no painel de detalhes do elemento span.
- Clique no traço vinculado para navegar entre os traços relacionados.
Para obter informações detalhadas sobre como usar links de extensão na interface do usuário, consulte Compreendendo os links de extensão.