• English
  • Log inStart now

accept_distributed_trace_payload (Python agent API)


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

This method is used for accepting the payloads used to connect transactions within a distributed trace.


Python agent version or higher.


This API has been deprecated. Please use newrelic.agent.accept_distributed_trace_headers instead.

Distributed tracing must be enabled.


For context on how to use this call, first read its partner API call create_distributed_trace_payload and Enable distributed tracing with agent APIs.

This call is used to link transactions by parsing the distributed tracing payloads generated by create_distributed_trace_payload.





dictionary or string

Required. The payload to be accepted.


Optional, defaults to HTTP. The type of transport that sent this payload. Must be one of the following: HTTP, HTTPS, Kafka, JMS, IronMQ, AMQP, Queue, or Other.

Return values

When successful, returns True.

When unsuccessful, returns False. Accepting a payload can fail for several reasons:

  • The current transaction is not enabled.
  • Accept was called outside the scope of a transaction.
  • The payload is empty.
  • Distributed tracing is not enabled.
  • accept_distributed_trace_payload was called after create_distributed_trace_payload, and not before.
  • accept_distributed_trace_payload was called multiple times in a single transaction.
  • The payload could not be parsed.
  • The payload was sent from an untrusted account.


Accept a distributed trace payload inside a background task

An example of using accept_distributed_trace_payload in a background task:

def handle(request):
payload = request.headers.get('newrelic')
if payload:

Consume from a queue

An example of using accept_distributed_trace_payload and creating a background task for each message:

import newrelic.agent
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')
Copyright © 2023 New Relic Inc.

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