• /
  • 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_payload (Python API d'agent)

Syntaxe

newrelic.agent.accept_distributed_trace_payload(payload, transport_type='HTTP')

Cette méthode est utilisée pour accepter les frais utilisés pour connecter les transactions au sein d'une traces distribuées.

Exigences

Python agent version 4.2.0.100 ou supérieure.

Prudence

Cette API est obsolète. Veuillez utiliser newrelic.agent.accept_distributed_trace_headers plutôt.

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 create_distributed_trace_payload et Activer le tracing distribué avec l'API d' agent.

Cet appel est utilisé pour lier les transactions en analysant les frais de tracing distribué générés par create_distributed_trace_payload.

Paramètres

paramètres

Description

payload

dictionnaire ou chaîne

Requis. La charge utile à accepter.

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_payload a été appelé après create_distributed_trace_payload, et non avant.
  • accept_distributed_trace_payload 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):
payload = request.headers.get('newrelic')
if payload:
newrelic.agent.accept_distributed_trace_payload(payload)
_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'):
payload = message.headers.get('newrelic')
newrelic.agent.accept_distributed_trace_payload(payload,
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.