• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Trace OpenTelemetry dans New Relic

OpenTelemetry fournit un écosystème de tracing riche, avec une API pour l'enregistrement de la télémétrie trace , un SDK pour l'exportation de données de portée et une propagation du contexte pour le tracing au-delà des limites de l'application.

Cette page décrit comment New Relic gère les étendues OpenTelemetry qu'il reçoit via le point de terminaison New Relic OTLP. Pour envoyer OpenTelemetry une trace à New Relic, vous devez configurer votre trace source pour exporter les données vers le New Relic OpenTelemetry Collector via le point de terminaison OTLP. Voir les pages suivantes :

Modélisation de la portée OTLP

New Relic mappe les étendues OTLP au type de données Span . Le tableau ci-dessous décrit comment les champs des définitions de message du protocole de trace sont interprétés :

Champ proto OTLP

Champ Span de New Relic

ResourceSpans.Resource.attributes

Chaque valeur clé est un attribut sur le Span [1]

ScopeSpans.InstrumentationScope.name

otel.library.name

ScopeSpans.InstrumentationScope.version

otel.library.version

ScopeSpans.InstrumentationScope.attributes

Chaque valeur clé est un attribut sur le 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 (calculé avec Span.start_time_unix_nano)

Span.attributes

Chaque valeur clé est un attribut sur le Span [1]

Span.dropped_attribute_count

otel.dropped_attributes_count

Span.events

Chaque événement est enregistré comme un SpanEvent avec span.id / trace.id faisant référence à l'étendue de la source, le nombre est stocké comme nr.spanEventCount

Span.events[*].time_unix_nano

Stocké sous le nom timestamp sur SpanEvent

Span.events[*].name

Stocké sous le nom name sur SpanEvent

Span.events[*].attributes

Chaque valeur clé est stockée comme attribut sur SpanEvent

Span.events[*].dropped_attributes_count

Stocké sous le nom ote.dropped_Attributes_count sur SpanEvent

Span.dropped_events_count

otel.dropped_events_count

Span.status.message

otel.status_description

Span.status.code

otel.status_code

Notes de bas de tableau

[1] En cas de conflit dans les champs d'attribut de ressource, d'attribut de portée, d'attribut d'étendue et d'étendue de niveau supérieur, l'ordre de priorité (du plus élevé au plus bas) est le suivant : les champs de niveau supérieur Span.* > Span.attributes > ScopeSpans.InstrumentationScope.attributes > ResourceSpans.Resource.attributes.

Consultez les types d'attributs OTLP pour plus de détails sur les types d'attributs pris en charge par le point de terminaison OTLP de New Relic et les limites d'attributs OTLP pour plus de détails sur la validation effectuée sur l'attribut.

New Relic prend en charge les liens de span OpenTelemetry, qui vous permettent de créer des relations de causalité entre les spans qui n'ont pas de connexion parent-enfant directe. Les liens de span sont essentiels pour comprendre les traces distribuées qui sont divisées sur des limites asynchrones telles que les files d'attente de messages, les flux d'événements et les systèmes de traitement par lots.

Quand utiliser les liens de span

Utilisez les liens de span dans les scénarios suivants :

  • Message queue producers and consumers: Lier un span consommateur au span producteur lors du traitement des messages provenant de files d'attente telles que AWS SQS, RabbitMQ ou Kafka.
  • Fan-in patterns: Lier plusieurs traces de producteurs à une seule trace de consommateur qui agrège leurs sorties.
  • Batch processing: Lier les spans qui traitent les messages par lots à leurs traces d'origine individuelles.
  • Long-running workflows: Connecter les spans à travers les étapes du flux de travail qui dépassent les limites de durée de trace normales.

Pour implémenter les liens de span dans votre instrumentation OpenTelemetry, vous devez :

  1. Extraire le contexte de trace du message ou de l'événement entrant
  2. Créer un lien de span lors du démarrage d'un nouveau span dans le consommateur
  3. S'assurer que le contexte de trace est propagé via votre infrastructure de messagerie

Les exemples suivants montrent comment implémenter les liens de span dans différents langages :

Lors de l'implémentation des liens de span, suivez ces meilleures pratiques :

  1. Always propagate trace context: Assurez-vous que le contexte de trace W3C (en-têtes traceparent et tracestate) est inclus dans les en-têtes ou les métadonnées des messages.

  2. Validate span context: Vérifiez toujours si le contexte de span extrait est valide avant de créer un lien de span. Les contextes non valides ne doivent pas créer de liens.

  3. Use appropriate span kinds: Définissez PRODUCER kind pour les spans de publication de messages et CONSUMER kind pour les spans de traitement de messages.

  4. Add messaging attributes: Incluez des conventions sémantiques pour les systèmes de messagerie (tels que messaging.system, messaging.destination, messaging.operation) pour fournir un contexte.

  5. Consider sampling: Les deux traces liées doivent être échantillonnées pour apparaître dans New Relic. : Ajustez les stratégies d'échantillonnage pour les flux de travail critiques qui utilisent des liens de span.

  6. Handle batch processing carefully: Lors du traitement des messages par lots, créez des liens de span individuels pour chaque message afin de maintenir la traçabilité.

Une fois que vous avez implémenté les liens de span dans votre instrumentation, vous pouvez les afficher et les parcourir dans l'interface utilisateur de New Relic :

  1. Accédez à la page des détails de la trace pour une trace
  2. Recherchez le badge des liens de span dans la barre de filtre indiquant le nombre de spans avec des liens
  3. Sélectionnez un span avec des liens pour afficher l'onglet Span links dans le volet des détails du span
  4. Cliquez sur les traces liées pour naviguer entre les traces associées

Pour obtenir des informations détaillées sur l'utilisation des liens de span dans l'interface utilisateur, consultez Comprendre les liens de span.

Droits d'auteur © 2025 New Relic Inc.

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