• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

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.

Criar um problema

accept_distributed_trace_headers (API do agente Python)

Sintaxe

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

Este método é usado para aceitar os cabeçalhos usados para conectar transações dentro de um distributed trace.

Requisitos

Agente Python versão 5.6.0.135 ou superior.

distributed tracing deve estar ativado.

Descrição

Para obter contexto sobre como usar essa chamada, primeiro leia a chamada de API do parceiro insert_distributed_trace_headers e Ativar distributed tracing com API do agente.

Esta chamada é usada para vincular transações analisando os cabeçalhos distributed tracing gerados por insert_distributed_trace_headers.

Parâmetro

Parâmetro

Descrição

headers

dicionário ou lista

Obrigatório. Os cabeçalhos a serem aceitos. Pode ser fornecido como um iterável de (header_name, header_value) ou como um dicionário.

transport_type

corda

Opcional, o padrão é HTTP. O tipo de transporte que enviou esta carga útil. Deve ser um dos seguintes: HTTP, HTTPS, Kafka, JMS, IronMQ, AMQP, Queue ou Other.

Valores de retorno

Quando bem-sucedido, retorna True.

Quando malsucedido, retorna False. A aceitação de uma carga útil pode falhar por vários motivos:

  • A transação atual não está habilitada.
  • Accept foi chamado fora do escopo de uma transação.
  • A carga útil está vazia.
  • distributed tracing não está ativado.
  • accept_distributed_trace_* foi chamado depois que uma carga útil foi criada e não antes.
  • accept_distributed_trace_* foi chamado várias vezes em uma única transação.
  • A carga útil não pôde ser analisada.
  • A carga foi enviada de uma conta não confiável.

Exemplos

Aceitar uma carga distributed trace dentro de uma tarefa em segundo plano

Um exemplo de uso accept_distributed_trace_payload em uma tarefa em segundo plano:

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

Consumir de uma fila

Um exemplo de uso accept_distributed_trace_payload e criação de uma tarefa em segundo plano para cada mensagem:

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

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