• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Traces de OpenTelemetry no New Relic

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:

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 Span

ResourceSpans.Resource.attributes

Cada valor principal é um atributo no Span [1]

ScopeSpans.InstrumentationScope.name

otel.library.name

ScopeSpans.InstrumentationScope.version

otel.library.version

ScopeSpans.InstrumentationScope.attributes

Cada valor principal é um atributo no Span [1]

Span.trace_id

trace.id

Span.span_id

id

Span.trace_state

w3c.tracestate

Span.parent_span_id

parent.id

Span.name

name

Span.kind

span.kind

Span.start_time_unix_nano

timestamp

Span.end_time_unix_nano

duration.ms (computar com Span.start_time_unix_nano)

Span.attributes

Cada valor principal é um atributo no Span [1]

Span.dropped_attribute_count

otel.dropped_attributes_count

Span.events

Cada evento é registrado como um SpanEvent com span.id / trace.id referindo-se ao intervalo de origem, contagem armazenada como nr.spanEventCount

Span.events[*].time_unix_nano

Armazenado como timestamp em SpanEvent

Span.events[*].name

Armazenado como name em SpanEvent

Span.events[*].attributes

Cada valor principal é armazenado como um atributo no SpanEvent

Span.events[*].dropped_attributes_count

Armazenado como ote.dropped_Attributes_count em SpanEvent

Span.dropped_events_count

otel.dropped_events_count

Span.status.message

otel.status_description

Span.status.code

otel.status_code

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.

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.

Para implementar links de extensão em sua instrumentação OpenTelemetry, você precisa:

  1. Extrair o contexto do trace da mensagem ou evento recebido
  2. Crie um link de span ao iniciar um novo span no consumidor.
  3. 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:

Ao implementar links de extensão, siga estas práticas recomendadas:

  1. Always propagate trace context: Garantir que o contexto de rastreamento W3C (cabeçalhos traceparent e tracestate) esteja incluído nos cabeçalhos da mensagem ou.

  2. 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.

  3. Use appropriate span kindsDefina o tipo PRODUCER para os intervalos de publicação de mensagens e o tipo CONSUMER para os intervalos de processamento de mensagens.

  4. Add messaging attributes: Inclua convenções semânticas para sistemas de mensagens (como messaging.system, messaging.destination, messaging.operation) para fornecer contexto.

  5. 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.

  6. Handle batch processing carefullyAo processar mensagens em lote, crie links de intervalo individuais para cada mensagem para manter a rastreabilidade.

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:

  1. Acesse a página de detalhestrace para obter um trace
  2. Procure o selo de links de span na barra de filtros, que mostra o número de spans com links.
  3. Selecione um elemento span com links para ver a guia Span links no painel de detalhes do elemento span.
  4. 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.

Copyright © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.