• /
  • 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

external_trace (Python API d'agent)

Syntaxe

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

Signalez les appels aux services externes sous forme de segments de trace de transaction.

Description

external_trace est utilisé pour ajouter plus de détails à votre trace de transaction sous forme de segments supplémentaires. Tous les appels signalés avec external_trace apparaîtront dans l’onglet externes dans APM. external_trace renvoie une partie de ExternalTraceWrapper qui peut être utilisée comme décorateur pour une fonction qui appelle un service externe.

Le décorateur external_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 ExternalTrace.
  • The wrapper: La forme wrapper est ExternalTraceWrapper. 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_external_trace. Cela applique le ExternalTraceWrapper à 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 external_trace

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

Le décorateur external_trace utilise ces paramètres :

paramètres

Description

library

chaîne ou fonction

Requis. Le nom (ou le type) de la bibliothèque externe utilisée. Transmettez soit une chaîne qui le définit, soit une fonction qui le renvoie.

url

chaîne ou fonction

Requis. L'URL qui a été demandée par l'appel de la bibliothèque. Transmettez soit une chaîne qui le définit, soit une fonction qui le renvoie.

method

chaîne ou fonction

Facultatif. La méthode définissant le type d’appel effectué. Il s’agit généralement get, post, put ou delete.

paramètre pour ExternalTrace

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

Le gestionnaire de contexte ExternalTrace prend tous les paramètres pris par external_trace.

paramètre pour ExternalTraceWrapper

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

Le ExternalTraceWrapper 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 d'appel externe à attribuer à l'heure externe.

Paramètres pour wrap_external_trace

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

Le wrap_external_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

external_trace renvoie un ExternalTraceWrapper() partiel.

Exemples

Exemple de trace externe

Un exemple d'utilisation de external_trace:

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

Un exemple d'utilisation de external_trace sur une coroutine native :

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

Exemple de trace externe

Un exemple d'utilisation du gestionnaire de contexte ExternalTrace :

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

Exemple d'ExternalTraceWrapper

Un exemple d'utilisation du ExternalTraceWrapper:

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

Exemple de wrap_external_trace

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

wrap_external_trace('module', 'Foo.bar', 'library', 'http://example.com', 'get')
Droits d'auteur © 2025 New Relic Inc.

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