L'Python API d'agent vous permet de personnaliser et d'étendre votre monitoring. Utilisez Python API l' d'agent pour :
- Instrumenter manuellement un framework non pris en charge ou un système tiers.
- Ajoutez instrumentation pour compléter la agent par défaut monitoring de l' .
Ce document décrit certains des appels d' disponibles Python API. Pour une description de toutes nos API disponibles, voir Introduction aux API.
instrumentation personnalisée ou API
Si votre objectif est instrumentation personnalisée, pensez à utiliser la méthode du fichierconfiguration , qui vous permet d'ajouter des fonctions et des méthodes de classe au fichier de configuration qui seront auto-instrumentées par l' agent. L’avantage de la méthode du fichier de configuration est qu’elle ne nécessite pas de modifier le code de votre application.
Cependant,Python API l' de l'agent est beaucoup plus puissante et est idéale pour configurer plus complexe et instrumentation personnalisée. Pour vous assurer d'avoir accès à toutes les fonctionnalités de l'API, effectuez une mise à jour vers la dernière version de l'agent Python.
Monitorer les transactions et les segments
L'agent Python est compatible avec la plupart des WSGI frameworks Web courants. Si l'agent prend en charge votre framework, Web requests seront automatiquement capturées en tant que transactions et affichées dans l'UI de New Relic. Une transaction peut également comporter des segments de niveau fonctionnel qui sont capturés dans le cadre d'une trace de transaction.
Utilisez ces méthodes pour monitorer les transactions Web, les transactions non Web et les segments de transaction :
Si vous voulez... | Fais ceci... |
---|---|
Monitorer le Web des transactions WSGI | L'agent Python capture automatiquement le Web des transactions pour le framework pris en charge. Si vous ne disposez pas d'un framework pris en charge, vous pouvez utiliser la fonction |
moniteur de transactions ASGI web | L'agent Python capture automatiquement le Web des transactions pour le framework pris en charge. Si vous ne disposez pas d'un framework pris en charge, vous pouvez utiliser la fonction |
Monitorer les transactions non web | L'agent Python classe les transactions non Web comme des tâches d'arrière-plan. Pour capturer une transaction non Web, utilisez |
Capturez plus de détails sur une transaction | Si votre trace de transaction n'a pas le niveau de détail souhaité :
|
Ignorer une transaction | Utilisez l’une de ces options :
|
Ajouter et modifier les métadonnées de transaction
Parfois, le code que vous ciblez est visible dans notre UI, mais certains détails de la méthode ne sont pas utiles. Par exemple:
- Le nom par défaut n'est pas utile ou provoque un problème de regroupement métrique.
- Vous souhaitez ajouter des attributs personnalisés à vos transactions afin de pouvoir les filtrer lors des requêtes.
Utilisez ces appels lorsque vous souhaitez modifier les métadonnées d’une transaction existante :
Si vous voulez... | Fais ceci... |
---|---|
Obtenir une référence à la transaction en cours | Pour renvoyer un objet représentant la transaction en cours, utilisez |
Changer le nom d'une transaction | Utilisez |
Ajouter des métadonnées (comme le niveau d'abonnement d'un client) aux transactions | Ajoutez un attribut personnalisé à vos transactions en utilisant |
Marquer une transaction comme tâche d'arrière-plan | Pour convertir une transaction Web en tâche d'arrière-plan afin qu'elle apparaisse comme une transaction non Web dans l' UI, utilisez |
Empêcher une transaction d'affecter votre score Apdex | Utilisez |
Voir le log associé
Pour voir le log directement dans le contexte des application erreurs et des traces de get_linking_metadata
votre, utilisez l'appel d'API pour annoter votre log. Pour plus d'informations sur la corrélation des données log avec d'autres données télémétriques, consultez notre documentation sur les logs en contexte .
Rapport événement personnalisé et métriques personnalisées données
L'agent rapporte les données sous deux formes principales :
- Les données métriques mesurent des valeurs numériques basées sur le temps ; par exemple, les connexions par minute.
- les données d'événement capturent des informations d'événement discrètes. événement sont associés à un attribut valeur clé. Vous pouvez analyser et requêter les données d'un événement.
Utilisez ces méthodes pour créer de nouvelles données d’événement et de nouvelles données de métrique :
Si vous voulez... | Fais ceci... |
---|---|
Envoyez des données sur un événement à utiliser lors de l'interrogation de vos données. | Utilisez |
Rapporter des métriques temporelles sur les performances des application |
|
Signaler une exception comme une erreur | Par défaut, l'agent Python signale uniquement les exceptions non gérées. Pour signaler une exception Python comme une erreur, utilisez |
Paramètre de chaîne de requête de rapport | Pour des raisons de sécurité, les paramètres de chaîne de requête associés à la transaction Web sont désactivés par défaut. Utilisez |
tag événement avec métadonnées | Pour ajouter un attribut à l'événement pour une requête plus détaillée ou une analyse des erreurs, utilisez |
Générer des métriques à partir de sources de données et d'usines de données | Pour générer des métriques avec une API de type pull plutôt que l' API de type push implémentée par |
Appels liés aux messages
Ces appels d'API vous permettent de collecter des données de performances sur votre architecture ou service de transmission de messages ; par exemple, RabbitMQ. Pour utiliser ces appels, assurez-vous que vous disposez de la version 2.88.0.72 ou supérieure de l'agent Python .
Si vous voulez... | Fais ceci... |
---|---|
Signaler les messages comme une transaction | Utilisez |
Signaler les détails du message sous forme de segments de trace de transaction | Utilisez |
Important
L' agent ne collecte pas les paramètres du fichier d'attente des messages lorsque le mode haute sécurité est activé.
Implémenter le tracing distribué
Ces API nécessitent que le tracing distribué soit activé.
Les services et le moniteur d'application de notre agent transmettront automatiquement le contexte de tracing distribué les uns aux autres lors de l'utilisation d'un framework pris en charge. Lorsque vous n'utilisez pas de framework pris en charge, vous devrez utiliser l' API de tracing distribué pour accepter manuellement ce contexte.
Les frameworks Web pris en charge (par exemple, Flask, Django, Tornado) appelleront automatiquement accept_distributed_trace_payload
lors de la création d'une transaction. La bibliothèque de services Web externes pris en charge appellera automatiquement create_distributed_trace_payload
avant d'effectuer un appel HTTP externe.
Pour obtenir des instructions générales sur la façon d'utiliser les appels ci-dessous pour implémenter le tracing distribué, consultez Utiliser API de tracing distribué.
Si vous voulez... | Fais ceci... |
---|---|
Créez une charge utile à envoyer à un service appelé. | Utilisez |
Accepter une charge utile envoyée par le premier service ; cela liera ces services ensemble dans une trace | Utilisez |
configuration de l'agent, initialisation, arrêt
Ces appels vous aident à gérer le comportement de l'agent Python, comme l'initialisation et l'intégration de l'agent, ainsi que le référencement ou la modification des paramètres de configuration :
Si vous voulez... | Fais ceci... |
---|---|
Initialiser l'agent | Pour initialiser l'agent Python avec un fichier de configuration spécifique dans le cadre du processus d'intégration avancé, utilisez |
Obtenir une référence à l'objet | L'objet |
Obtenir une référence sur les paramètres de configuration | Pour contrôler le comportement de l'agent Python, vous pouvez utiliser les paramètres de configuration.
|
Arrêter l'agent | Pour arrêter de force l'agent au lieu de lui permettre d'effectuer la dernière tentative standard de téléchargement de données, utilisez |
Contrôler l'monitoring des navigateurs agent
Vous pouvez installer monitoring l' de navigateurs en agent l'ajoutant automatiquement à vos pages ou en l'affichant sur des pages spécifiques en copiant et collant agent snippetl' JavaScript. Vous pouvez également contrôler l' agent de navigateur en utilisant agent APM appelé d'API. Pour plus d’informations, voir Agent de navigateur et Agent Python.
Si vous voulez... | Fais ceci... |
---|---|
Monitorer les pages vues spécifiques | Pour injecter l'extrait JavaScript d'en-tête et de pied de page de l' agent de navigateur dans les vues que vous souhaitez monitorer, utilisez à la fois |
Désactiver monitoring de pages vues spécifiques | Pour désactiver monitoring des navigateurs pour des pages vues spécifiques, utilisez |