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.
Les paramètres de tracing distribué contrôlent la façon dont l'agent propage le contexte de trace à travers les services, configure la collecte d'événement de span, et active Infinite Tracing.
Le tracing distribué vous permet de voir le chemin emprunté par une requête lorsqu'elle traverse un système distribué. Il est activé par défaut pour l'agent Java version 7.4.0 ou supérieure.
Dans le fichier de configuration, vous pouvez remplacer cela manuellement dans la section distributed_tracing . Vous pouvez également remplacer cela en utilisant une propriété système préfixée (newrelic.config.distributed_tracing) ou une variable d'environnement (NEW_RELIC_DISTRIBUTED_TRACING_ENABLED). Voir les exemples ci-dessous.
Par défaut, les versions prises en charge de l'agent utilisent à la fois l'en-tête newrelic et les en-têtes W3C Trace Context pour le tracing distribué. L'en-tête distribué de tracing newrelic permet l'interopérabilité avec les agents plus anciens qui ne prennent pas en charge les en-têtes W3C Trace Context . les versions d'agent qui prennent en charge les en-têtes W3C Trace Context les prioriseront par rapport aux en-têtes newrelic pour le tracing distribué.
Si vous ne souhaitez pas utiliser l'en-tête newrelic, définissez-le sur true pour que l'agent exclue l'en-tête newrelic et utilise uniquement les en-têtes W3C Trace Context pour le tracing distribué.
Par exemple, pour exclure les en-têtes newrelic dans le fichier de configuration, vous utiliseriez :
distributed_tracing:
exclude_newrelic_header:true
Pour exclure les en-têtes newrelic à l'aide d'une propriété système, vous devez utiliser :
Définit la cible d’échantillonnage adaptatif globale, partagée par les contextes root, remote_parent_sampled, et remote_parent_not_sampled. Cette cible contrôle le nombre de trace par minute que l’ échantillonneur adaptatif tente de capturer. Un contexte peut remplacer cette valeur par défaut globale par son propre adaptive.sampling_target spécifique au contexte.
distributed_tracing:
sampler:
adaptive_sampling_target:30# Applied to all contexts without an explicit override
Remplace la adaptive_sampling_target globale pour le contexte root uniquement, en définissant le nombre de traces racines par minute que l’échantillonneur adaptatif tente de capturer.
distributed_tracing:
sampler:
adaptive_sampling_target:120# Global default
root:
adaptive:
sampling_target:5# Overrides global default to capture 5 traces/min for the root context
La propriété ratio est requise lors de l’utilisation de l’échantillonneur trace_id_ratio_based. Si aucun ratio n’est défini, l’échantillonneur adaptatif par défaut sera utilisé pour ce contexte à la place.
Puisque l'échantillonneur adaptatif échantillonne généralement les traces échantillonnées en amont (et ne les compte pas dans la cible d'échantillonnage), ce paramètre n'a généralement aucun effet. Pour échantillonner uniquement certaines traces remote_parent_sampled, préférez l'échantillonneur trace_id_ratio_based.
La propriété ratio est requise lors de l’utilisation de l’échantillonneur trace_id_ratio_based. Si aucun ratio n’est défini, l’échantillonneur adaptatif par défaut sera utilisé pour ce contexte à la place.
distributed_tracing:
sampler:
remote_parent_sampled:
trace_id_ratio_based:
ratio:0.2# Sample 20% of traces sampled by upstream
Type
Chaîne de caractères ou propriété imbriquée
Défaut
adaptive
Configure l’échantillonneur utilisé pour le contexte de parent distant non échantillonné (un service en amont a décidé de NE PAS échantillonner cette trace). Les valeurs possibles sont :
Remplace la adaptive_sampling_target globale pour le contexte remote_parent_not_sampled uniquement.
Puisque l'échantillonneur adaptatif n'échantillonne habituellement pas les traces qui n'ont pas été échantillonnées par un service en amont, ce paramètre n'a généralement aucun effet. Pour garantir la capture de certaines traces remote_parent_not_sampled, privilégiez l'échantillonneur trace_id_ratio_based.
La propriété ratio est requise lors de l’utilisation de l’échantillonneur trace_id_ratio_based. Si aucun ratio n’est défini, l’échantillonneur adaptatif par défaut sera utilisé pour ce contexte à la place.
distributed_tracing:
sampler:
remote_parent_not_sampled:
trace_id_ratio_based:
ratio:0.05# Sample 5% even if upstream said not to
Prudence
Outrepasser les décisions « not sampled » en amont peut créer une trace fragmentée où seuls certains services sont présents. N’utilisez ce modèle que lorsque vous avez un besoin spécifique de voir l’activité dans un service en aval, même lorsque le service en amont ne l’a pas échantillonnée.
Pour une analyse approfondie du fonctionnement de ces échantillonneurs, des cibles d’échantillonnage adaptatif, et des contextes d’échantillonnage, consultez Configurer l’échantillonnage. Pour des scénarios de configuration réels, consultez Exemples de configuration d’échantillonneur.
Vous pouvez également utiliser la propriété système newrelic.config.infinite_tracing.trace_observer.host ou la variable d’environnement NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST.
Événements de span
Span événement sont signalés pour tracing distribué. Vous devez activer le tracing distribué pour signaler l'événement span.
Définissez la configuration d'événement de span dans la section span_events. Ces paramètres peuvent être remplacés par une propriété système préfixée newrelic.config.span_events. Les options incluent :
Type
Booléen
Défaut
true
Utilisé pour activer/désactiver les rapports d'événements SPAN.
Type
Entier
Défaut
2000
Max
10000
Détermine le nombre d'événements span qui peuvent être capturés pendant un cycle de collecte agent . Disponible dans l'agent Java 7.4.0 et supérieur.
Lors de la configuration de l'agent pour monitoring de l'IA, définissez la valeur maximale sur 10000. Garantit que la quantité maximale de traces soit capturée.
Important
L'augmentation du nombre d'événements SPAN peut entraîner une surcharge supplémentaire agent .
Type
Booléen
Défaut
true
Ce paramètre peut être utilisé pour activer ou désactiver tous les attributs d'un événement SPAN. Si attributes.enabled au niveau racine est false, aucun attribut ne sera envoyé à l'événement span, quelle que soit la manière dont cette propriété (span_events.attributes.enabled) est définie.
Type
Liste de chaînes
Défaut
(aucun)
Si les attributs sont activés pour l'événement SPAN, toutes les clés d'attribut trouvées dans cette liste seront envoyées à New Relic dans span_events. Pour plus d'informations, consultez les règles d'attribut de l'agent.
Type
Liste de chaînes
Défaut
(aucun)
Toutes les clés d'attribut trouvées dans cette liste ne seront pas envoyées à New Relic lors de l'événement SPAN. Pour plus d'informations, consultez les règles d'attribut de l'agent.
Le tracing inter-applications est obsolète à partir de la version 7.4.0 de l'agent et sera supprimé dans une future version de l'agent.
Au lieu d'utiliser le tracing inter-application, nous recommandons notre fonctionnalité de tracing distribué. tracing distribué est une amélioration de la fonctionnalité de tracing inter-applicationet est recommandé pour les grands systèmes distribués.
Définissez les options de tracing inter-applications dans la section cross_application_tracer. Ces paramètres peuvent être remplacés par une propriété système préfixée newrelic.config.cross_application_tracer.
Le tracing inter-application ajoute des en-têtes de demande et de réponse aux appels externes à l'aide de la bibliothèque Apache HttpClient. Cela fournit de meilleures données de performances lors de l'appel du moniteur d'application par un autre agent New Relic .