Ce document explique comment capturer des métriques client personnalisées à l'aide de OpenTelemetry. Les métriques client personnalisées sont disponibles à l'aide des bibliothèques clientes Java et Go.
Les métriques côté client personnalisées peuvent vous aider à trouver la source de la latence dans votre système. Pour en savoir plus, consultez Points de latence dans une requête Spanner.
Les bibliothèques clientes Spanner fournissent également des statistiques et des traces à l'aide du framework d'observabilité OpenTelemetry. Pour en savoir plus, consultez Configurer la collecte de traces à l'aide d'OpenTelemetry.
OpenTelemetry est un framework et une boîte à outils d'observabilité Open source qui vous permet de créer et de gérer des données de télémétrie telles que des traces, des métriques et des journaux.
Avant de commencer
Vous devez configurer le SDK OpenTelemetry avec les options appropriées pour exporter vos données de télémétrie. Nous vous recommandons d'utiliser l'exportateur OTLP (OpenTelemetry Protocol).
Pour configurer des métriques côté client personnalisées à l'aide d'OpenTelemetry, vous devez configurer le SDK OpenTelemetry et l'exportateur OTLP :
Ajoutez les dépendances nécessaires à votre application à l'aide du code suivant :
Java
Go
Créez un objet OpenTelemetry avec l'exportateur OTLP et injectez-le dans Spanner à l'aide de
SpannerOptions:Java
Go
Capturer la latence GFE
La latence GFE (Google Front End) correspond à la durée en millisecondes entre le moment où le réseau Google reçoit un appel de procédure à distance du client et le moment où le GFE reçoit le premier octet de la réponse.
Vous pouvez capturer la latence GFE à l'aide du code suivant :
Java
Go
L'exemple de code ajoute la chaîne spanner/gfe_latency au nom de la métrique lorsqu'elle est exportée vers Cloud Monitoring. Vous pouvez rechercher cette métrique dans Monitoring à l'aide de la chaîne ajoutée.
Capturer la latence des requêtes API Cloud Spanner
La latence des requêtes API Cloud Spanner correspond au temps en secondes entre le premier octet de la requête client que le frontend de l'API Cloud Spanner reçoit et le dernier octet de la réponse que le frontend de l'API Cloud Spanner envoie.
Cette métrique de latence est disponible dans les métriques Monitoring.
Capturer la latence aller-retour du client
La latence aller-retour du client correspond à la durée en millisecondes entre le premier octet de la requête API Cloud Spanner que le client envoie à la base de données (via le GFE et le frontend de l'API Cloud Spanner) et le dernier octet de la réponse que le client reçoit de la base de données.
La métrique de latence aller-retour du client Spanner n'est pas compatible avec OpenTelemetry. Vous pouvez afficher la métrique côté client de latence de l'opération à la place. Pour obtenir plus d'informations, consultez la page Descriptions des métriques côté client.
Vous pouvez également instrumenter la métrique à l'aide d'OpenCensus avec un pont et migrer les données vers OpenTelemetry.
Capturer la latence des requêtes
La latence des requêtes correspond à la durée en millisecondes nécessaire pour exécuter des requêtes SQL dans la base de données Spanner.
Vous pouvez capturer la latence des requêtes à l'aide du code suivant :
Java
Go
L'exemple de code ajoute la chaîne spanner/query_stats_elapsed au nom de la métrique lorsqu'elle est exportée vers Monitoring. Vous pouvez rechercher cette métrique dans Monitoring à l'aide de la chaîne ajoutée.
Afficher les métriques dans l'explorateur de métriques
Dans la Google Cloud console, accédez à la page "Explorateur de métriques".
Sélectionnez votre projet.
Cliquez sur Sélectionner une métrique.
Recherchez une métrique de latence à l'aide des chaînes suivantes :
roundtrip_latency: pour la métrique de latence aller-retour du client.spanner/gfe_latency: pour la métrique de latence GFE.spanner/query_stats_elapsed: pour la métrique de latence des requêtes.
Sélectionnez la métrique, puis cliquez sur Appliquer.
Pour en savoir plus sur le regroupement ou l'agrégation de votre métrique, consultez Créer des requêtes à l'aide de menus.
Étape suivante
- En savoir plus sur OpenTelemetry.
- Découvrez comment configurer le SDK OpenTelemetry.
- Découvrez comment migrer vers OpenTelemetry.
- Découvrez comment utiliser les métriques pour diagnostiquer la latence.