Cette page s'adresse aux développeurs qui souhaitent collecter des données Cloud Trace pour les applications C++ à l'aide d'OpenTelemetry. OpenTelemetry est un framework d'instrumentation neutre du fournisseur que vous pouvez utiliser pour collecter des données de trace et de métriques. Pour en savoir plus sur l'instrumentation de votre code, consultez la page Instrumentation et observabilité.
- Installez les packages OpenTelementry.
- Configurez votre application pour exporter les délais vers Cloud Trace.
- Configurez votre plate-forme.
Pour en savoir plus sur les versions, consultez les articles suivants :
Pour accéder au contenu de référence d'OpenTelemetry, consultez les pages suivantes:
Pour obtenir les dernières informations sur OpenTelemetry pour C++, ainsi que de la documentation supplémentaire et des exemples, consultez la page OpenTelemetry.
Avant de commencer
-
Dans le panneau de navigation de la console Google Cloud, sélectionnez API et services, cliquez sur Activer les API et les services, puis activez l'API Cloud Trace:
Si API activée s'affiche, l'API est déjà activée. Sinon, cliquez sur le bouton Activer.
Installer les packages OpenTelementry
- Configurer un environnement de développement C++
- Installez la bibliothèque de l'exportateur Google Cloud C++ OpenTelemetry. Pour obtenir des informations sur l'installation, consultez le guide de démarrage rapide d'OpenTelemetry.
Configurer l'exportation des délais vers Cloud Trace
Pour configurer l'exportation des données de trace, appelez la méthode google::cloud::otel::ConfigureBasicTracing(...)
dans votre méthode main()
:
Le champ project_id
est le projet Google Cloud dans lequel vous souhaitez stocker les traces.
La méthode ConfigureBasicTracing(...)
instancie un objet TracerProvider
qui implémente un exportateur Cloud Trace. Si l'objet renvoyé par l'appel à ConfigureBasicTracing(...)
sort du champ d'application, l'objet TracerProvider
précédent est rétabli s'il en existe un.
Configurer le taux d'échantillonnage
Les applications peuvent générer un grand volume de données de trace. L'exemple suivant montre comment configurer le taux d'échantillonnage:
Exporter vers Cloud Trace à l'aide d'un TracerProvider
personnalisé
Certains cas d'utilisation peuvent nécessiter un objet TracerProvider
personnalisé. Par exemple, si vous souhaitez utiliser plusieurs exportateurs en même temps, vous devez créer un objet TracerProvider
personnalisé. Dans ce cas, vous pouvez utiliser directement l'exportateur Cloud Trace, comme indiqué ci-dessous:
Instrumentez votre propre application
Pour en savoir plus sur la configuration de votre application pour capturer des délais de trace, consultez la page Traçage OpenTelemetry. Cette page explique comment effectuer les opérations suivantes :
- Créer un délai
- Créer des délais imbriqués
- Définir des attributs de délai
- Créer des délais avec des événements
- Créer des délais avec des liens
Exemple d'application
Pour obtenir un exemple d'application, consultez le quickstart.
Configurer votre plate-forme
Vous pouvez utiliser Cloud Trace sur Google Cloud et d'autres plates-formes.
Exécuter des applications sur Google Cloud
Lorsque votre application s'exécute sur Google Cloud, vous n'avez pas besoin de fournir des identifiants d'authentification sous la forme d'un compte de service à la bibliothèque cliente. Cependant, vous devez vous assurer que le niveau d'accès de l'API Cloud Trace est activé sur votre plate-forme Google Cloud.
Pour obtenir la liste des environnements Google Cloud compatibles, consultez la page Environnements compatibles.
Pour les configurations suivantes, les paramètres de niveau d'accès par défaut activent l'API Cloud Trace :
- Environnement flexible App Engine
Environnement standard App Engine
Google Kubernetes Engine (GKE)
Compute Engine
Cloud Run
Si vous utilisez des niveaux d'accès personnalisés, assurez-vous que le niveau d'accès de l'API Cloud Trace est activé :
Pour en savoir plus sur la configuration des niveaux d'accès pour votre environnement à l'aide de la console Google Cloud, consultez la page Configurer votre projet Google Cloud.
Pour les utilisateurs
gcloud
, spécifiez les niveaux d'accès à l'aide de l'indicateur--scopes
et incluez le niveau d'accès à l'API Cloud Tracetrace.append
. Par exemple, pour créer un cluster GKE avec uniquement l'API Cloud Trace activée, procédez comme suit :gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append
Exécuter en local et depuis un autre emplacement
Si votre application s'exécute en dehors de Google Cloud, vous devez fournir les identifiants d'authentification sous la forme d'un compte de service à la bibliothèque cliente. Le compte de service doit contenir le rôle d'agent Cloud Trace. Pour savoir comment faire, consultez la page Créer un compte de service.
Les bibliothèques clientes Google Cloud utilisent les identifiants par défaut de l'application (ADC) pour trouver les identifiants de votre application.
Vous pouvez fournir ces identifiants de l'une des trois manières suivantes:
Exécuter
gcloud auth application-default login
Placez le compte de service dans un chemin d'accès par défaut pour votre système d'exploitation. Voici la liste des chemins d'accès par défaut pour Windows et Linux:
Windows :
%APPDATA%/gcloud/application_default_credentials.json
Linux :
$HOME/.config/gcloud/application_default_credentials.json
Définissez la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS
pour qu'elle indique le chemin d'accès à votre compte de service:
Linux/macOS
export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Windows
set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Powershell :
$env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"
Afficher les traces
Dans le panneau de navigation de la console Google Cloud, sélectionnez Trace, puis Explorateur Trace:
Dépannage
Pour en savoir plus sur la résolution des problèmes liés à Cloud Trace, consultez la page Dépannage.
Pour déboguer l'exportateur Cloud Trace C++, consultez la section Dépannage de la documentation de référence.
Ressources
- https://opentelemetry.io/
- Dépôt GitHub open- télémétrie/open télémétrie-cpp
- Dépôt GitHub google-cloud-cpp OpenTelemetry Exporters.