L'API de l'agent Java New Relic vous permet de contrôler, de personnaliser et d'étendre les fonctionnalités de l'agent Java . Cette API se compose de :
- Méthodes statiques sur la classe
com.newrelic.api.agent.NewRelic
- Une annotation
@Trace
pour implémenter une instrumentation personnalisée - Une hiérarchie d'objets API offrant des fonctionnalités supplémentaires
Utilisez cette API pour configurer une instrumentation personnalisée de votre application Java et collecter des données plus approfondies. Pour des informations détaillées sur cette API, consultez la Javadoc complète sur GitHub.
Une autre façon de configurer une instrumentation personnalisée est d’utiliser l’instrumentation XML. L'option XML est plus simple et ne nécessite pas de modification du code de votre application, mais elle ne dispose pas de toutes les fonctionnalités de l'API de l'agent Java.
Important
Pour de meilleurs résultats lors de l'utilisation de l'API, assurez-vous que vous disposez de la dernière version agent Java . Plusieurs API utilisées dans les exemples nécessitent l’agent Java 6.4.0 ou supérieur.
Pour toutes les API New Relic disponibles, voir Introduction aux API.
Utiliser l'API
Pour accéder à l'API, téléchargez-la depuis Maven Central via un outil de build.
Voici un exemple pour Gradle où vous pouvez remplacer ${agent.version}
par la version de votre agent :
implementation 'com.newrelic.agent.java:newrelic-api:${agent.version}'
Vous pouvez appeler l'API même sans que l'agent ne soit en cours d'exécution, mais les méthodes seront inopérantes jusqu'à ce que l'agent charge votre application.
Transactions
Pour instrumenter les transactions dans votre application, utilisez l'API suivante.
Si vous voulez... | Utilisez ceci |
---|---|
Créer un |
|
Capturez la durée d'une méthode que New Relic ne trace pas automatiquement |
|
Définir le nom du courant | |
Démarrer le minuteur pour le temps de réponse du | |
Ajoutez l'attribut personnalisé à | |
Ajoute le suivi des utilisateurs à | |
Empêcher qu'un | |
Exclure un |
Voir le log associé
Pour voir le log directement dans le contexte des erreurs et des traces de votre application, utilisez ces appels 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 .
Travail asynchrone de l'instrument
Pour des informations détaillées, consultez agent Java API pour l'application asynchrone.
Si vous voulez... | Utilisez ceci |
---|---|
tracer une méthode asynchrone si elle est liée à une | |
Liez le | |
Expirer un | |
Arrêtez de chronométrer un | |
Arrêtez de chronométrer un |
Traçage distribué de l'utilisation API
Ces API nécessitent que le traçage distribué soit activé. agent Java configuration Consultez pour toutes les options de configuration de traçage distribué.
Le traçage distribué vous permet de voir le chemin emprunté par une requête lorsqu'elle traverse un système distribué. Pour obtenir des instructions générales sur la façon d'utiliser les appels ci-dessous pour implémenter le traçage distribué, consultez Utiliser API de traçage distribué. Pour voir ces API en action, consultez Utilisation de agent Java de traçage de distribution API avec Kafka.
Important
Avec la version 6.4.0agent , les API de traçage distribué suivantes ont été introduites, à l'exception de addCustomAttribute()
, qui a été introduite dans la version 6.1.0. Nous vous recommandons fortement d'utiliser ces API plutôt que celles obsolètes.
Si vous voulez... | Utilisez ceci |
---|---|
Découvrez les en-têtes spécifiques au type d’un message entrant ou sortant. | Pour une implémentation fournie de Voir un exemple d'implémentation des en-têtes de contexte de trace W3C dans l'utilisation API DT avec Kafka. |
Créez et insérez des en-têtes de traçage distribués dans une structure de données | Pour plus d'informations sur l'obtention de références à la transaction en cours et à d'autres classes API, consultez Obtenir des références. |
Acceptez les en-têtes de traçage distribués envoyés par le service appelant et liez ces services ensemble dans une trace distribuée. | Pour plus d'informations sur l'obtention de références à la transaction en cours et à d'autres classes API, consultez Obtenir des références. |
Comprendre une classe utilitaire qui fournit des constantes d’énumération pour définir le type de transport lors de l’acceptation du traçage des en-têtes distribués. | |
Ajouter l'attribut personnalisé à |
|
Prudence
Avec la version 6.4.0agent , l'API de traçage distribué suivante a été déconseillée et remplacée par l'API du tableau ci-dessus. Il est fortement recommandé de mettre à niveau l'agent et d'utiliser les nouvelles API au lieu de celles obsolètes.
Si vous voulez... | Utilisez ceci |
---|---|
Créez une charge utile à envoyer à un service appelé. | Pour plus d'informations sur l'obtention de références à la transaction en cours et à d'autres classes API, consultez Obtenir des références. PrudenceAPI obsolète à partir de l'agent 6.4.0 |
Acceptez une charge utile envoyée par le premier service ; cela liera ces services ensemble dans une trace. | Pour plus d'informations sur l'obtention de références à la transaction en cours et à d'autres classes API, consultez Obtenir des références. PrudenceAPI obsolète à partir de l'agent 6.4.0 |
frais utilisés pour connecter les services. L'appel |
PrudenceAPI obsolète à partir de l'agent 6.4.0 |
frais utilisés pour connecter les services. L'appel |
PrudenceAPI obsolète à partir de l'agent 6.4.0 |
Utilisation de l'API de traçage inter-applications (CAT)
Important
Le traçage inter-applications est obsolète à partir de la version 7.4.0 de l'agent et sera supprimé dans une future version de l'agent.
Au lieu d'utiliser le traçage inter-application, nous recommandons notre fonctionnalité de traçage distribué . tracing distribué est une amélioration de la fonctionnalité de tracing inter-applicationet est recommandé pour les grands systèmes distribués.
Pour suivre les appels externes et ajouter un traçage inter-applications, utilisez les API suivantes :
Si vous voulez... | Utilisez ceci |
---|---|
tracer via un canal de transport personnalisé que New Relic ne prend pas en charge par défaut, tel qu'un transport RPC propriétaire | Consultez également les informations de ce document sur l’utilisation de |
Afficher ou modifier le nom de la métrique ou le nom d'une métrique rollup d'un (Un nom de métrique rollup, tel que | Consultez également les informations de ce document sur l’utilisation de |
Signaler un appel à un service HTTP externe, un serveur de base de données, un fichier d'attente de messages ou une autre ressource externe qui est tracée à l'aide de agent Java API |
Consultez également les informations de ce document sur l’utilisation de |
Activer et ajouter le traçage inter-applications lors de la communication avec un service HTTP ou JMS externe instrumenté par New Relic |
Consultez également les informations de ce document sur l’utilisation de |
Ajouter une temporisation pour un serveur d'application ou un répartiteur qui n'est pas pris en charge automatiquement |
Consultez également les informations de ce document sur l’utilisation de |
Obtenir des références aux classes de l'API New Relic
D'autres tâches nécessitent l'objet New Relic Agent
. L'objet Agent
expose plusieurs objets qui vous offrent les fonctionnalités suivantes :
Si vous voulez... | Utilisez ceci |
---|---|
Obtenez une référence à l'actuel | |
Obtenez un | |
Commencez et obtenez une référence à un | |
Obtenir une référence à la méthode en cours de traçage | |
Obtenir une référence à l'enregistreur | |
Obtenir une référence à la configuration | |
Obtenir une référence à un agrégateur pour les métriques personnalisées | |
Obtenez une référence à |
Fonctionnalités API supplémentaires
L'API suivante fournit des fonctionnalités supplémentaires, telles que la définition des informations sur le serveur d'applications, le signalement des erreurs, l'ajout d'informations sur la durée de chargement des pages, l'enregistrement des métriques personnalisées et l'envoi d'événements personnalisés.
Si vous voulez... | Utilisez ceci |
---|---|
Définissez explicitement les informations de port, de nom et de version pour un serveur application ou un répartiteur et le nom instance pour une JVM | |
Signaler une erreur que New Relic ne signale pas automatiquement | Lors d'une transaction, le dernier appel à |
Regroupez les erreurs avec votre propre empreinte digitale personnalisée définie, implémentez l'interface | |
Définissez votre propre empreinte d’erreur via une fonction de rappel. Pour enregistrer un | |
Ajoutez le temps de chargement de la page du navigateur pour | |
Créer et accumuler des métriques personnalisées |
|
Enregistrer un événement personnalisé |
Ou utilisez Consultez également les informations de ce document sur l’utilisation de |
Fournir des informations générales sur le compte du fournisseur de cloud à l'agent |
Avec cette méthode, vous pouvez fournir le type d’informations de compte et sa valeur. L'agent utilise ces informations pour renseigner l'attribut AWS DynamoDB et Kinesis sont des services qui nécessitent cette valeur pour renseigner l'attribut L'appel de cette méthode remplace la configuration cloud correspondante. L'appel affiché ci-dessus remplace |
Fournir à l'agent des informations sur le compte du fournisseur de cloud spécifique au client SDK |
Cet appel fournit les mêmes informations que la méthode précédente, mais il est spécifique au client SDK fourni. Lorsque le client SDK spécifié est utilisé, ces données seront utilisées à la place des données générales. |
Exemples d'utilisation d'API supplémentaires
Pour des exemples de code détaillés sur l'utilisation des API, consultez la documentation de New Relic sur l'instrumentation personnalisée pour :
- Appels externes, trace inter-application, messagerie, banques de données et infrastructure Web
- traçage inter-applicationet appels datastore externes
- Applications utilisant une instrumentation personnalisée avec annotation
- personnalisé framework instrumentation API
- Prévenir l'instrumentation indésirable
- Insérer l'attribut personnalisé
- Insérer un événement personnalisé
- Collecte de métriques personnalisées