Cette page explique comment activer les traces côté client avec OpenTelemetry lorsque vous utilisez les bibliothèques clientes Cloud Storage pour interagir avec Cloud Storage. Vous pouvez collecter et afficher des données de trace à l'aide des bibliothèques clientes Cloud Storage compatibles suivantes :
Présentation
L'activation des traces dans les bibliothèques clientes Cloud Storage vous permet de surveiller les performances, d'identifier les problèmes de latence et de déboguer rapidement les requêtes Cloud Storage. Les traces vous permettent de voir la séquence d'une requête terminée, en fournissant une vue détaillée de la façon dont la requête a été reçue, gérée et traitée par Cloud Storage. Une trace unique est composée de plusieurs spans, qui sont des enregistrements détaillés et horodatés de chaque fonction ou opération effectuée par votre application tout au long de la requête Cloud Storage.
Avantages
La collecte et la propagation des données de trace offrent les avantages suivants à votre application :
Visibilité améliorée sur les performances : les données de trace étant générées en temps quasi réel à mesure que Cloud Storage traite chaque requête que vous effectuez, vous pouvez rapidement identifier les goulots d'étranglement et détecter les problèmes de latence.
Gestion des erreurs : vous pouvez identifier précisément les problèmes, ce qui accélère l'analyse des causes premières et réduit les temps d'arrêt grâce aux informations sur chaque requête Cloud Storage fournies dans une trace.
Fonctionnement des traces côté client
Les sections suivantes expliquent en détail comment fonctionne la collecte de traces.
Fonctionnement de la collecte de traces avec OpenTelemetry
Les bibliothèques clientes Cloud Storage sont compatibles avec la collecte de données de trace à l'aide du SDK OpenTelemetry pour configurer les composants suivants requis pour collecter et propager les données de trace :
Fournisseur de trace : utilisé par les bibliothèques clientes Cloud Storage, le fournisseur de trace est responsable de la création et de la gestion du système de traçage, y compris de la génération et de la gestion des traces et des spans dans votre application.
Exportateur de trace : utilisé par le SDK OpenTelemetry, l'exportateur de trace est chargé d'envoyer les données de trace à une plate-forme d'observabilité de backend telle que Cloud Trace, où vous pouvez analyser et visualiser les données de trace. Pour en savoir plus sur l'exportateur de trace, consultez Fonctionnement des exportateurs de trace.
Fonctionnement des exportateurs de trace
La configuration des traces à l'aide du SDK OpenTelemetry inclut la sélection d'un backend d'observabilité vers lequel exporter vos données pour qu'elles soient analysées, stockées et visualisées. Bien que vous puissiez exporter vos données de trace vers le backend d'observabilité de votre choix, nous vous recommandons d'utiliser Cloud Trace, accessible depuis la console Google Cloud et qui s'intègre à d'autres services Google Cloud .
Une fois le fournisseur et l'exportateur de trace configurés et activés, vous pouvez afficher les données de trace en quasi-temps réel à mesure que les traces et les spans sont générés pour chaque requête Cloud Storage.
L'explorateur Cloud Trace de la consoleGoogle Cloud vous permet d'afficher chaque trace, qui contient les éléments suivants :
Vue d'ensemble d'une requête Cloud Storage de bout en bout.
Plusieurs portées, chacune capturant une opération unique horodatée dans la requête Cloud Storage qui a été effectuée.
Pour en savoir plus sur les traces et les spans, consultez la documentation OpenTelemetry sur les traces et les spans.
Tarifs
Les données de trace sont payantes. Les frais dépendent du nombre de segments de trace ingérés et analysés par Cloud Trace. Pour en savoir plus sur les spans de trace facturables et les exemples de tarification, consultez Coûts de Cloud Trace.
Avant de commencer
Avant de pouvoir collecter des traces pour votre utilisation de l'API Cloud Storage, vous devez effectuer les étapes suivantes :
-
Enable the Cloud Trace API.
Activez l'API Cloud Storage.
Rôles requis
Pour obtenir l'autorisation nécessaire pour écrire des traces dans Cloud Trace, demandez à votre administrateur de vous accorder le rôle IAM Agent Cloud Trace (roles/coudtrace.agent
) sur le projet utilisé par le client.
Ce rôle prédéfini contient l'autorisation cloudtrace.traces.patch
, qui est nécessaire pour écrire des traces dans Cloud Trace.
Vous pouvez également obtenir ces autorisations avec des rôles prédéfinis ou créer des rôles personnalisés pour accorder des autorisations spécifiques. Pour savoir comment attribuer des rôles aux projets, consultez Attribuer ou révoquer un rôle. Pour en savoir plus sur le rôle d'agent Cloud Trace, consultez la documentation sur Identity and Access Management (IAM).
Configurer le traçage pour votre application
Suivez les instructions ci-dessous pour configurer le traçage et commencer à collecter des données de trace à l'aide de la bibliothèque cliente Cloud Storage :
C++
Installez les versions suivantes :
Bibliothèque cliente C++ version v2.16.0 ou ultérieure
C++ version 14 ou ultérieure
Pour activer l'instrumentation de traçage OpenTelemetry dans la bibliothèque cliente C++, mettez à jour la configuration de votre système de compilation pour CMake ou Bazel.
Créez une instance du client Cloud Storage avec les traces OpenTelemetry activées.
Java
Installez les versions suivantes de la bibliothèque cliente Java Cloud Storage :
com.google.cloud:google-cloud-storage:2.47.0
ou version ultérieurecom.google.cloud:libraries-bom:26.53.0
ou version ultérieure
Installez l'exportateur Cloud Trace pour OpenTelemetry. Vous pouvez également utiliser l'exportateur de votre choix.
Installez le propagateur Cloud Trace.
Créez une instance du client Cloud Storage avec les traces OpenTelemetry activées.
Python
Installez la bibliothèque cliente Python Cloud Storage :
pip install google-cloud-storage[tracing]>=2.18.0
Installez l'exportateur et le propagateur Cloud Trace. Vous pouvez également utiliser l'exportateur de votre choix.
pip install opentelemetry-exporter-gcp-trace opentelemetry-propagator-gcp
Installez l'instrumentation des requêtes OpenTelemetry pour suivre les requêtes HTTP sous-jacentes.
pip install opentelemetry-instrumentation-requests
Définissez la variable d'environnement pour activer sélectivement le traçage pour le client de stockage Python :
export ENABLE_GCS_PYTHON_CLIENT_OTEL_TRACES=True
Configurez l'exportateur et le fournisseur de trace.
Afficher vos traces
Utilisez l'explorateur Cloud Trace pour afficher vos données de trace dans la console Google Cloud :
-
Dans la console Google Cloud , accédez à la page Explorateur Trace :
Vous pouvez également accéder à cette page à l'aide de la barre de recherche.
Sur la page Trace explorer (Explorateur de traces), cliquez sur une trace spécifique dans le graphique en nuage de points pour afficher ses détails.
Le volet Détails des traces affiche un tableau des délais de trace.
Facultatif : Cliquez sur une ligne de portée pour afficher des informations détaillées sur une portée spécifique, telles que les suivantes :
Attributs : paires clé/valeur qui fournissent des informations supplémentaires sur la portée.
Journaux et événements : entrées de journaux associées à la période.
Traces de pile : traces de pile associées à la portée.
Métadonnées et liens : liens vers d'autres services Google Cloud associés à la portée.
Pour en savoir plus sur l'utilisation de l'explorateur Cloud Trace, consultez la page Rechercher et explorer des traces.