• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Accept_distributed_trace_payload (API del agente Python)

Sintaxis

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

Este método se utiliza para aceptar la carga utilizada para conectar la transacción dentro de un rastreo distribuido.

Requisitos

Agente Python versión 4.2.0.100 o superior.

Advertencia

Esta API ha quedado obsoleta. Utilice newrelic.agent.accept_distributed_trace_headers en cambio.

rastreo distribuido debe estar habilitado.

Descripción

Para obtener contexto sobre cómo utilizar esta llamada, primero lea la llamada API de su socio create_distributed_trace_payload y Habilitar rastreo distribuido con API de agente.

Esta llamada se utiliza para vincular la transacción analizando el rastreo de carga distribuida generado por create_distributed_trace_payload.

Parámetros

Parámetro

Descripción

payload

diccionario o cadena

Requerido. La carga útil que se aceptará.

transport_type

cadena

Opcional, el valor predeterminado es HTTP. El tipo de transporte que envió esta carga útil. Debe ser uno de los siguientes: HTTP, HTTPS, Kafka, JMS, IronMQ, AMQP, Queue o Other.

Valores de retorno

Cuando tiene éxito, devuelve True.

Si no tiene éxito, devuelve False. La aceptación de una carga útil puede fallar por varios motivos:

  • La transacción actual no está habilitada.
  • Se llamó a Accept fuera del alcance de una transacción.
  • La carga útil está vacía.
  • rastreo distribuido no está habilitado.
  • accept_distributed_trace_payload fue llamado después de create_distributed_trace_payload y no antes.
  • accept_distributed_trace_payload fue llamado varias veces en una sola transacción.
  • No se pudo analizar la carga útil.
  • La carga útil se envió desde una cuenta que no es de confianza.

Ejemplos

Aceptar una carga útil de rastreo distribuida dentro de una tarea en segundo plano

Un ejemplo de uso de accept_distributed_trace_payload en una tarea en segundo plano:

@newrelic.agent.background_task()
def handle(request):
payload = request.headers.get('newrelic')
if payload:
newrelic.agent.accept_distributed_trace_payload(payload)
_do_some_work()

Consumir en cola

Un ejemplo de uso accept_distributed_trace_payload y creación de una tarea en segundo plano para cada mensaje:

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)
Copyright © 2024 New Relic Inc.

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