• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

message_trace (Python API d'agent)

Syntaxe

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

Les fonctions de messagerie de rapport fonctionnent comme des segments de trace de transaction.

Exigences

Version de l'agent 2.88.0.72 ou supérieure.

Description

message_transaction (et ses appels associés) signalent les fonctions de message comme des transactions. message_trace est utilisé pour ajouter plus de détails à votre trace de transaction sous la forme de segments supplémentaires. message_trace renvoie une partie de MessageTraceWrapper qui peut être utilisée comme décorateur pour une fonction de message.

Le décorateur message_trace peut être utilisé sur les générateurs et les coroutines avec la version d'agent 2.102.0.85 ou supérieure. La synchronisation de ces objets commence lorsque la consommation commence et se termine lorsque l'objet est épuisé ou sort du champ d'application. Il s’agit d’un changement par rapport aux versions précédentes où la métrique représentait le temps nécessaire à la création du générateur ou de l’objet coroutine lui-même.

Si vous ne pouvez pas utiliser le décorateur dans votre application, vous pouvez utiliser l'un de ces autres formats d'appel :

  • The context manager: Le formulaire du gestionnaire de contexte est MessageTrace. Il prend les mêmes paramètres que le décorateur.
  • The wrapper: La forme wrapper est MessageTraceWrapper. Il peut être utilisé pour renvoyer une fonction encapsulée sans l'utilisation d'un décorateur.
  • The path-based wrapper: La forme wrapper basée sur le chemin est wrap_message_trace. Cela applique le MessageTraceWrapper à un objet donné via le patch de singe. Cela prend le même paramètre que le décorateur plus un paramètre module et object_path supplémentaire.

Pour une explication des utilisations de ces différents formats d’appel, voir Différents formats d’appel. Voir Exemples pour des exemples d'appel.

Paramètres

paramètre pour message_trace

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

Le décorateur message_trace utilise ces paramètres :

paramètres

Description

library

chaîne ou fonction

Requis. Le nom (ou le type) du type de courtier de messages utilisé. Transmettez soit une chaîne qui le définit, soit une fonction qui le renvoie.

operation

chaîne ou fonction

Requis. Soit Produce ou Consume comme indiqué par l’opération se produisant dans la fonction de trace. Transmettez soit une chaîne qui le définit, soit une fonction qui le renvoie.

destination_type

chaîne ou fonction

Requis. Le type de destination ciblée par l'opération. Transmettez soit une chaîne qui le définit, soit une fonction qui le renvoie. Il s’agit généralement Exchange ou Queue.

destination_name

chaîne ou fonction

Requis. Le nom de la destination ciblée par l'opération. Transmettez soit une chaîne qui le définit, soit une fonction qui le renvoie.

params

dictionnaire

Facultatif. Détails supplémentaires relatifs à l'opération. Il s’agit généralement routing_key, correlation_id, reply_to, queue_name ou headers.

paramètre pour MessageTrace

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

Le gestionnaire de contexte MessageTrace prend tous les paramètres pris par message_trace.

paramètre pour MessageTraceWrapper

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

Le MessageTraceWrapper prend tous les mêmes paramètres que le décorateur en plus d'un paramètre initial wrapped :

paramètres

Description

wrapped

fonction

Requis. La fonction de messagerie à attribuer au temps du courtier de messages.

Paramètres pour wrap_message_trace

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

Le wrap_message_trace prend tous les paramètres que le décorateur fait en plus d'un paramètre module et d'un paramètre object_path :

paramètres

Description

module

objet

Requis. Le module contenant l'objet à envelopper.

object_path

chaîne

Requis. Le chemin vers l'objet à envelopper.

Valeurs de retour

message_trace renvoie un MessageTraceWrapper() partiel.

Exemples

Exemple de message_trace

Un exemple d'utilisation de message_trace:

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

Un exemple d'utilisation du décorateur message_trace avec une coroutine native :

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

Exemple de MessageTrace

Un exemple d'utilisation du gestionnaire de contexte MessageTrace :

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

Exemple de MessageTraceWrapper

Un exemple d'utilisation du MessageTraceWrapper:

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

Exemple de wrap_message_trace

Un exemple d'utilisation du wrapper basé sur le chemin wrap_message_trace :

wrap_message_trace('module', 'Foo.bar', 'library', 'Produce', 'Exchange', 'x')
Droits d'auteur © 2025 New Relic Inc.

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