• 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

message_trace (API del agente Python)

Sintaxis

newrelic.agent.message_trace(library, operation, destination_type, destination_name, params={})

La mensajería de informes funciona como segmentos de traza de la transacción.

Requisitos

Versión del agente 2.88.0.72 o superior.

Descripción

El mensaje de informe message_transaction (y sus llamadas asociadas) funciona como transacción. message_trace se utiliza para agregar más detalles a su traza de la transacción en forma de segmentos adicionales. message_trace devuelve una parte de MessageTraceWrapper que puede usarse como decorador para una función de mensaje.

El decorador message_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 MessageTrace. Toma el mismo parámetro que el decorador.

  • The wrapper

    : El formulario contenedor es MessageTraceWrapper. 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_message_trace. Esto aplica el MessageTraceWrapper 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 message_trace

newrelic.agent.message_trace(library, operation, destination_type, destination_name, params={})

El decorador message_trace utiliza estos parámetros:

Parámetro

Descripción

library

cadena o función

Requerido. El nombre (o tipo) del tipo de intermediario de mensajes en uso. Pase una cadena que lo defina o una función que lo devuelva.

operation

cadena o función

Requerido. Ya sea Produce o Consume como lo indica la operación que ocurre en la función traza. Pase una cadena que lo defina o una función que lo devuelva.

destination_type

cadena o función

Requerido. El tipo de destino objetivo de la operación. Pase una cadena que lo defina o una función que lo devuelva. Normalmente es Exchange o Queue.

destination_name

cadena o función

Requerido. El nombre del destino objetivo de la operación. Pase una cadena que lo defina o una función que lo devuelva.

params

diccionario

Opcional. Detalles adicionales relacionados con la operación. Suelen ser routing_key, correlation_id, reply_to, queue_name o headers.

Parámetro para MessageTrace

newrelic.agent.MessageTrace(library, operation, destination_type, destination_name, params={})

El administrador de contexto MessageTrace toma todos los parámetros tomados por message_trace.

Parámetro para MessageTraceWrapper

newrelic.agent.MessageTraceWrapper(wrapped, library, operation, destination_type, destination_name, params={})

El MessageTraceWrapper 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 mensajería se atribuye al tiempo del intermediario de mensajes.

Parámetro para wrap_message_trace

newrelic.agent.wrap_message_trace(module, object_path, library, operation, destination_type, destination_name, params={})

El wrap_message_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

message_trace devuelve un MessageTraceWrapper() parcial.

Ejemplos

ejemplo de seguimiento_mensaje

Un ejemplo de uso de message_trace:

@message_trace('library', 'Consume', 'Exchange', 'x')
def foo():
pass

Un ejemplo del uso del decorador message_trace con una rutina nativa:

@message_trace('library', 'Consume', 'Exchange', 'x')
async def foo():
pass

Ejemplo de seguimiento de mensajes

Un ejemplo de uso del administrador de contexto MessageTrace :

def basic_get(queue, no_ack=False):
with MessageTrace('library', 'Consume', 'Exchange', 'x'):
pass

Ejemplo de MessageTraceWrapper

Un ejemplo de uso de MessageTraceWrapper:

wrapped_basic_get = newrelic.agent.MessageTraceWrapper(basic_get, 'library', 'Consume', 'Queue', 'x')
method_frame, header_frame, body = wrapped_basic_get('queue')

ejemplo de wrap_message_trace

Un ejemplo del uso del contenedor basado en ruta wrap_message_trace :

wrap_message_trace('module', 'Foo.bar', 'library', 'Produce', 'Exchange', 'x')
Copyright © 2024 New Relic Inc.

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