Extensions
Introduction
Les extensions sont conçues pour surcharger ou personnaliser l’instrumentation fournie par l’agent sans avoir à créer une nouvelle distribution OpenTelemetry ou à modifier le code de l’agent de quelque manière que ce soit.
Considérez un client de base de données instrumenté qui crée un span par appel de base de données et extrait des données de la connexion à la base de données pour fournir des attributs de span. Voici des exemples de cas d’utilisation pour ce scénario qui peuvent être résolus en utilisant des extensions :
“Je ne veux pas du tout de ce span” :
Créez une extension pour désactiver l’instrumentation sélectionnée en fournissant de nouveaux paramètres par défaut.
“Je veux modifier certains attributs qui ne dépendent d’aucune instance de connexion à la base de données” :
Créez une extension qui fournit un
SpanProcessor
personnalisé.“Je veux modifier certains attributs et leurs valeurs dépendent d’une instance de connexion à la base de données spécifique” :
Créez une extension avec une nouvelle instrumentation qui injecte ses propres
Advice
dans la même méthode que l’originale. Vous pouvez utiliser la méthodeorder
pour vous assurer qu’elle s’exécute après l’instrumentation originale et augmenter le span actuel avec de nouvelles informations.“Je veux supprimer certains attributs” :
Créez une extension avec un exportateur personnalisé ou utilisez la fonctionnalité de filtrage d’attributs dans le collecteur OpenTelemetry.
“Je n’aime pas les spans OTel. Je veux les modifier ainsi que leur cycle de vie” :
Créez une extension qui désactive l’instrumentation existante et la remplace par une nouvelle qui injecte des
Advice
dans la même méthode (ou une meilleure) que l’instrumentation originale. Vous pouvez écrire vosAdvice
pour cela et utiliser leTracer
existant directement ou l’étendre. Comme vous avez vos propresAdvice
, vous pouvez contrôler quelTracer
vous utilisez.
Exemples d’extensions
Pour obtenir une démonstration de la création d’une extension pour l’agent d’instrumentation Java OpenTelemetry, compilez et exécutez le projet d’extension.
Feedback
Cette page est-elle utile?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!