Cette page fournit des informations générales sur la collecte de traces avec OpenTelemetry. Pour surveiller et déboguer les requêtes Spanner, vous pouvez activer les traces dans les bibliothèques clientes Spanner. Le traçage côté client et de bout en bout peut vous aider à surveiller les performances et à déboguer les problèmes.
Les traces fournissent des informations pertinentes pour chaque requête d'un client, telles que les suivantes :
Segments avec des codes temporels indiquant quand le client a envoyé une requête RPC et quand il a reçu la réponse RPC, y compris la latence causée par le réseau et le système client.
Attributs (paires clé/valeur) qui fournissent des informations sur le client et sa configuration.
Annotations avec des événements importants dans les segments.
Pour en savoir plus sur les segments et les attributs, consultez Segments et Attributs dans la documentation OpenTelemetry.
Traçage de bout en bout
En plus du traçage côté client, vous pouvez activer le traçage de bout en bout. Le traçage de bout en bout vous aide à comprendre et à déboguer les problèmes de latence spécifiques à Spanner, tels que les suivants :
Déterminer si la latence est due à la latence réseau entre votre application et Spanner, ou si elle se produit dans Spanner.
Identifier les Google Cloud régions par lesquelles les requêtes de votre application sont acheminées et s'il existe une requête interrégionale. Une requête interrégionale signifie généralement des latences plus élevées entre votre application et Spanner.
Pour éviter de surcharger Cloud Trace et vous aider à gérer efficacement les coûts, le traçage de bout en bout est limité au nombre de segments de trace que vous pouvez exporter. Cette limite n'a aucune incidence sur l'utilisation du traçage de bout en bout pour le dépannage.
OpenTelemetry
Les bibliothèques clientes Spanner sont compatibles avec la collecte de traces à l'aide des OpenTelemetry. OpenTelemetry est un framework d'observabilité Open Source. OpenTelemetry propose un large éventail de configurations, telles que des exportateurs pour des backends spécifiques, des taux d'échantillonnage et des limites de segments.
Exporter des traces à l'aide d'OTLP
Dans le cadre de votre configuration OpenTelemetry, vous utilisez un exportateur pour envoyer des données de trace à un backend d'observabilité. Nous vous recommandons d'utiliser un exportateur OTLP (OpenTelemetry Protocol)
qui envoie des données à l'aide du protocole OpenTelemetry. Vous pouvez configurer l'exportateur
OTLP pour envoyer des traces directement aux backends d'observabilité compatibles avec OTLP,
tels que Cloud Trace à l'aide de
Telemetry
API, ou
à un collecteur OpenTelemetry.
Limites
Les traces Spanner sont soumises aux limites suivantes :
- Les segments de trace ne sont disponibles que pour les bibliothèques clientes Java, Go, Node et Python.
- Les traces de bout en bout ne peuvent être exportées que vers Cloud Trace.
Tarifs
En plus de l'utilisation de Spanner, le traçage peut entraîner des frais via votre backend d'observabilité.
L'ingestion de segments de trace dans votre backend d'observabilité est facturable. Par exemple, si vous utilisez Cloud Trace comme backend, vous serez facturé conformément aux tarifs de Cloud Trace.
Pour mieux comprendre la facturation, commencez par un faible taux d'échantillonnage des traces en fonction de votre trafic.
Étape suivante
Pour configurer le traçage côté client et de bout en bout, consultez Configurer la collecte de traces à l'aide d'OpenTelemetry.