• /
  • 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

accept_distributed_trace_headers (Python API d'agent)

Syntaxe

newrelic.agent.accept_distributed_trace_headers(headers, transport_type='HTTP')

Cette méthode est utilisée pour accepter les en-têtes utilisés pour connecter les transactions au sein d'une tracedistribuée.

Exigences

Python agent version 5.6.0.135 ou supérieure.

Le tracing distribué doit être activé.

Description

Pour plus de contexte sur la façon d'utiliser cet appel, lisez d'abord son appel d'API partenaire insert_distributed_trace_headers et Activer le tracing distribué avec l'API d' agent.

Cet appel est utilisé pour lier les transactions en analysant les en-têtes tracing distribué générés par insert_distributed_trace_headers.

Paramètres

paramètres

Description

headers

dictionnaire ou liste

Requis. Les en-têtes à accepter. Peut être fourni sous la forme d'un itérable de (header_name, header_value) ou sous la forme d'un dictionnaire.

transport_type

chaîne

Facultatif, la valeur par défaut est HTTP. Le type de transport qui a envoyé cette charge utile. Doit être l’un des suivants : HTTP, HTTPS, Kafka, JMS, IronMQ, AMQP, Queue ou Other.

Valeurs de retour

En cas de succès, renvoie True.

En cas d'échec, renvoie False. L'acceptation d'une charge utile peut échouer pour plusieurs raisons :

  • La transaction en cours n'est pas activée.
  • Accept a été appelé en dehors du cadre d'une transaction.
  • La charge utile est vide.
  • Le tracing distribué n'est pas activé.
  • accept_distributed_trace_* a été appelé après la création d'une charge utile et non avant.
  • accept_distributed_trace_* a été appelé plusieurs fois dans une seule transaction.
  • La charge utile n'a pas pu être analysée.
  • La charge utile a été envoyée à partir d’un compte non fiable.

Exemples

Accepter une traces distribuée à l'intérieur d'une tâche d'arrière-plan

Un exemple d'utilisation de accept_distributed_trace_payload dans une tâche en arrière-plan :

@newrelic.agent.background_task()
def handle(request):
newrelic.agent.accept_distributed_trace_headers(request.headers)
_do_some_work()

Consommer depuis une file d'attente

Un exemple d'utilisation de accept_distributed_trace_payload et de création d'une tâche en arrière-plan pour chaque message :

import newrelic.agent
newrelic.agent.initialize('newrelic.ini')
application = newrelic.agent.register_application(timeout=10.0)
def main(queue):
for message in queue.consume():
with newrelic.agent.BackgroundTask(application, 'Queue Consume'):
newrelic.agent.accept_distributed_trace_headers(message.headers,
transport_type='Queue')
_process_message(message)
Droits d'auteur © 2025 New Relic Inc.

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