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

Python instrumentation personnalisée via le fichier de configuration

Vous pouvez étendre la Python agent monitoring de trace l' pour le temps passé dans des fonctions ou des méthodes de classes supplémentaires en modifiant votre newrelic.ini configuration fichier . Cette forme d' instrumentation personnalisée est plus simple à mettre en œuvre que l'appel d'API, et ne nécessite pas de modifier votre code. Cependant, pour des besoins plus complexes, vous devrez peut-être instrumenter via API .

Lister les fonctions dans le fichier de configuration

Pour étendre l'instrumentation aux fonctions désignées et aux méthodes de classe, ajoutez-les au paramètre transaction_tracer.function_trace dans la section newrelic du fichier de configuration de l'agent. L'identifiant d'une fonction doit avoir la forme module:function et celle d'une méthode de classe module:class.function.

Pour répertorier plusieurs éléments, utilisez l’une de ces méthodes :

  • Une ligne : Séparez chaque élément par un espace.
  • Plusieurs lignes : suivez la convention de fichier ini pour mettre en retrait les lignes suivantes.

Lorsque des données sont rapportées pour la fonction instrumentée, la métrique aura un nom sous la forme Function/module:function ou Function/module:class.function. Dans la répartition des performances d'une transaction, la catégorie s'affichera comme Function et le segment sera module:function ou module:class.function. Pour un suivi lent de la transaction, seul le nom du segment apparaît. Notez que lorsqu'une fonction renvoie réellement un générateur, seul le temps passé à renvoyer le générateur sera enregistré et non la consommation des valeurs du générateur.

Restrictions sur l'encapsulation des API d'extension

Lorsque vous encapsulez des fonctions en les répertoriant dans le fichier de configuration de l'agent, vous ne pouvez pas désigner des méthodes de classe de cette manière lorsque la méthode est membre d'une classe implémentée dans le code C par un module d'extension C. Cela est dû au fait qu’il n’est pas possible de modifier la table des méthodes d’un type implémenté à l’aide de l’API Python C.

Remplacement du nom de fonction signalé

Lorsque vous utilisez le paramètre transaction_tracer.function_trace dans le fichier de configuration de l'agent, le nom de la fonction sera utilisé dans le nom de la métrique et sera classé comme Function. S'il est nécessaire de remplacer le nom de fonction pouvant être utilisé dans le nom de la métrique ou de le classer différemment, un autre moyen de définir la trace de fonction dans le fichier de configuration peut être utilisé. L'équivalent pour :

transaction_tracer.function_trace = dumbdbm:open
dumbdbm:_Database._commit

consisterait à créer deux nouvelles configuration sections dans le agent configuration fichier, une pour chaque fonction à tracer :

[function-trace:dumbdbm-1]
enabled = true
function = dumbdbm:open
name = dumbdbm:open
group = Function
[function-trace:dumbdbm-2]
enabled = true
function = dumbdbm:_Database._commit
name = dumbdbm:_Database._commit
group = Function

Le nom de la section du fichier .ini doit commencer par function-trace:. Le composant de nom qui suit ce préfixe peut être n'importe quoi, mais doit être unique dans toutes les sections de trace de fonction dans le fichier de configuration. Vous pouvez remplacer les paramètres group et name pour obtenir le nom de métrique souhaité. Le paramètre enabled est défini par défaut sur false et vous devez le modifier sur true pour activer la fonction trace.

Instrumenter avec l' API

À des fins d’instrumentation personnalisée simple, la méthode du fichier de configuration fonctionne bien. Pour une instrumentation plus précise et personnalisée et des ajustements de comportement de l'agent, utilisez l'API de l'agent Python.

Droits d'auteur © 2025 New Relic Inc.

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