Ce document explique comment ajouter du code d'observabilité à votre application à l'aide d'OpenTelemetry. OpenTelemetry fournit des bibliothèques d'instrumentation qui génèrent des données de télémétrie pour les frameworks courants. Vous pouvez enrichir le contenu généré par la bibliothèque de télémétrie en ajoutant une instrumentation personnalisée qui mesure le comportement spécifique à l'application.
Les principes et concepts décrits dans ce document peuvent être appliqués aux applications écrites dans tous les langages compatibles avec OpenTelemetry. Pour en savoir plus sur l'instrumentation, consultez les documents suivants :
L'exemple de code, qui est la même application Go que celle décrite dans Générer des traces et des métriques avec Go, est disponible dans GitHub. Pour afficher l'exemple complet, cliquez sur more_vert Plus, puis sélectionnez Afficher sur GitHub.
Avant de commencer
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Créer des traces personnalisées
Pour générer des traces personnalisées à partir de votre application, ajoutez les éléments suivants au code d'instrumentation qui crée des segments OpenTelemetry. Dans OpenTelemetry, les segments sont les éléments de base des traces.
Pour créer un segment, procédez comme suit :
Modifiez votre application pour acquérir un
Tracer
OpenTelemetry. Dans OpenTelemetry, un traceur est un créateur de segments. Vous pouvez vous procurer un traceur comme indiqué dans le code suivant :Le nom du traceur, représenté par
scopeName
, identifie le champ d'application d'instrumentation des traces générées.Utilisez l'instance
tracer
pour créer des segments. Dans l'exemple de code suivant, la fonctioncomputeSubrequests
génère un segment chaque fois qu'elle est appelée :Dans l'exemple de code précédent, le segment généré à partir de la fonction
computeSubrequests
représente le travail effectué par l'ensemble de la fonction. En effet, la première étape de la fonction consiste à démarrer un nouveau segment à l'aide detracer.Start
, et le mot clédefer
avant l'élémentspan.End()
garantit que le segment prend fin juste avant la fin de la fonction.
Création de métriques personnalisées
Pour générer des métriques à partir de votre application, vous devez ajouter un code d'instrumentation qui enregistre les mesures effectuées lors de l'exécution de votre application.
Pour créer des métriques, procédez comme suit :
Modifiez votre application pour acquérir un
Meter
OpenTelemetry. Dans OpenTelemetry, un compteur permet d'accéder aux instruments de métrique pour enregistrer des métriques. Vous pouvez acquérir un compteur comme illustré dans le code suivant :Le nom du compteur, représenté par
scopeName
, identifie le champ d'application d'instrumentation des métriques générées.Utilisez l'instance
meter
pour créer des instruments capables d'enregistrer des métriques. Par exemple, dans le code suivant, nous utilisonsmeter
pour créer un histogramme OpenTelemetry :Le code précédent génère un histogramme nommé
sleepHistogram
.Utilisez l'instance
sleepHistogram
pour enregistrer le temps de mise en veille, qui est déterminé lorsque la fonctionrandomSleep
est appelée :Les métriques enregistrées par ces outils sont exportées de votre application sur la base de la configuration de votre exportateur OpenTelemetry.
Étape suivante
- Corréler des métriques et des traces à l'aide d'exemples
- OpenTelemetry
- Instrumentation OpenTelemetry
- Modèle de données des métriques OpenTelemetry