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

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

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

external_trace (API do agente Python)

Sintaxe

newrelic.agent.external_trace(library, url, method=None)

Reportar chamadas para serviços externos como segmentos de rastreamento da transação.

Descrição

external_trace é usado para adicionar mais detalhes ao seu rastreamento de transação na forma de segmentos adicionais. Todas as chamadas relatadas com external_trace aparecerão na guia externas do APM. external_trace retorna uma parcial de ExternalTraceWrapper que pode ser usada como decorador para uma função que chama um serviço externo.

O decorador external_trace pode ser usado em geradores e corrotinas com agente versão 2.102.0.85 ou superior. O tempo desses objetos começa quando o consumo começa e termina quando o objeto se esgota ou sai do escopo. Esta é uma mudança em relação às versões anteriores, onde a métrica representava o tempo necessário para criar o gerador ou o próprio objeto de corrotina.

Se você não puder usar o decorador em seu aplicativo, poderá usar um destes outros formatos de chamada:

  • The context manager

    : O formulário do gerenciador de contexto é ExternalTrace.

  • The wrapper

    : o formulário do wrapper é ExternalTraceWrapper. Pode ser usado para retornar uma função encapsulada sem o uso de um decorador.

  • The path-based wrapper

    : o formulário wrapper baseado em caminho é wrap_external_trace. Isso aplica o ExternalTraceWrapper a um determinado objeto por meio de monkey patching. Isso usa os mesmos parâmetros do decorador mais um parâmetro module e object_path adicional.

Para obter uma explicação sobre os usos desses diferentes formatos de chamada, consulte Diferentes formatos de chamada. Consulte Exemplos para exemplos de chamadas.

Parâmetro

Parâmetros para external_trace

newrelic.agent.external_trace(library, url, method=None)

O decorador external_trace usa estes parâmetros:

Parâmetro

Descrição

library

string ou função

Obrigatório. O nome (ou tipo) da biblioteca externa em uso. Passe uma string que o defina ou uma função que o retorne.

url

string ou função

Obrigatório. A URL que foi solicitada pela chamada da biblioteca. Passe uma string que o defina ou uma função que o retorne.

method

string ou função

Opcional. O método que define o tipo de chamada que está sendo feita. Normalmente são get, post, put ou delete.

Parâmetro para ExternalTrace

newrelic.agent.ExternalTrace(library, url, method=None)

O gerenciador de contexto ExternalTrace usa todos os parâmetros obtidos por external_trace.

Parâmetro para ExternalTraceWrapper

newrelic.agent.ExternalTraceWrapper(wrapped, library, url, method=None)

O ExternalTraceWrapper usa todos os mesmos parâmetros do decorador , além de um parâmetro wrapped inicial:

Parâmetro

Descrição

wrapped

função

Obrigatório. A função de chamada externa para atribuir ao tempo externo.

parâmetro para wrap_external_trace

newrelic.agent.wrap_external_trace(module, object_path, library, url, method=None)

O wrap_external_trace usa todos os parâmetros que o decorador usa, além de um parâmetro module e um parâmetro object_path :

Parâmetro

Descrição

module

objeto

Obrigatório. O módulo que contém o objeto a ser empacotado.

object_path

corda

Obrigatório. O caminho para o objeto a ser encapsulado.

Valores de retorno

external_trace retorna uma parcial ExternalTraceWrapper() .

Exemplos

exemplo de external_trace

Um exemplo de uso de external_trace:

@external_trace('library', 'http://example.com', 'get')
def foo():
pass

Um exemplo de uso external_trace em uma corrotina nativa:

@external_trace('library', 'http://example.com', 'get')
async def foo():
pass

Exemplo de ExternalTrace

Um exemplo de uso do gerenciador de contexto ExternalTrace :

def fetch_example_dot_com():
with ExternalTrace('library', 'http://example.com', 'get'):
pass

Exemplo de ExternalTraceWrapper

Um exemplo de uso do ExternalTraceWrapper:

wrapped_fetch_example_dot_com = newrelic.agent.ExternalTraceWrapper(fetch_example_dot_com, 'library', 'http://example.com', 'get')
response = wrapped_fetch_example_dot_com()

exemplo wrap_external_trace

Um exemplo de uso do wrapper baseado em caminho wrap_external_trace :

wrap_external_trace('module', 'Foo.bar', 'library', 'http://example.com', 'get')
Copyright © 2024 New Relic Inc.

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