• 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

external_trace (API del agente Python)

Sintaxis

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

Reportar llamadas a servicios externos como segmentos de traza de la transacción.

Descripción

external_trace se utiliza para agregar más detalles a su traza de la transacción en forma de segmentos adicionales. Cualquier llamada reportada con external_trace aparecerá en la pestaña externos en APM. external_trace devuelve una parte de ExternalTraceWrapper que se puede usar como decorador para una función que llama a un servicio externo.

El decorador external_trace se puede utilizar en generadores y corrutinas con la versión del agente 2.102.0.85 o superior. El tiempo de estos objetos comienza cuando comienza el consumo y finaliza cuando el objeto se agota o sale del alcance. Este es un cambio con respecto a versiones anteriores donde la métrica representaba el tiempo necesario para crear el generador o el objeto de rutina.

Si no puede utilizar el decorador en su aplicación, puede utilizar uno de estos otros formatos de llamada:

  • The context manager

    : El formulario del administrador de contexto es ExternalTrace.

  • The wrapper

    : El formulario contenedor es ExternalTraceWrapper. Se puede utilizar para devolver una función envuelta sin el uso de un decorador.

  • The path-based wrapper

    : El formulario contenedor basado en ruta es wrap_external_trace. Esto aplica el ExternalTraceWrapper a un objeto determinado mediante parches de mono. Esto toma los mismos parámetros que el decorador más un parámetro module y object_path adicional.

Para obtener una explicación de los usos de estos diferentes formatos de llamadas, consulte Diferentes formatos de llamadas. Consulte Ejemplos para ver ejemplos de llamadas.

Parámetros

Parámetros para external_trace

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

El decorador external_trace utiliza estos parámetros:

Parámetro

Descripción

library

cadena o función

Requerido. El nombre (o tipo) de la biblioteca externa en uso. Pase una cadena que lo defina o una función que lo devuelva.

url

cadena o función

Requerido. La URL que ha sido solicitada por la llamada a la biblioteca. Pase una cadena que lo defina o una función que lo devuelva.

method

cadena o función

Opcional. El método que define el tipo de llamada que se realiza. Suelen ser get, post, put o delete.

Parámetro para seguimiento externo

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

El administrador de contexto ExternalTrace toma todos los parámetros tomados por external_trace.

Parámetro para ExternalTraceWrapper

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

El ExternalTraceWrapper toma todos los mismos parámetros que el decorador además de un parámetro wrapped inicial:

Parámetro

Descripción

wrapped

función

Requerido. La función de llamada externa al atributo del tiempo externo.

parámetro para wrap_external_trace

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

El wrap_external_trace toma todos los parámetros que hace el decorador además de un parámetro module y un parámetro object_path :

Parámetro

Descripción

module

objeto

Requerido. El módulo que contiene el objeto que se va a envolver.

object_path

cadena

Requerido. La ruta al objeto que se va a envolver.

Valores de retorno

external_trace devuelve un ExternalTraceWrapper() parcial.

Ejemplos

ejemplo de seguimiento_externo

Un ejemplo de uso de external_trace:

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

Un ejemplo del uso external_trace en una corrutina nativa:

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

Ejemplo de seguimiento externo

Un ejemplo de uso del administrador de contexto ExternalTrace :

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

Ejemplo de ExternalTraceWrapper

Un ejemplo de uso de ExternalTraceWrapper:

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

ejemplo de wrap_external_trace

Un ejemplo del uso del contenedor basado en ruta 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.