Présentation de Cloud Trace

Cloud Trace, un système de traçage distribué pour Google Cloud, vous aide à comprendre le temps nécessaire à votre application pour gérer les requêtes entrantes des utilisateurs ou d'autres applications, ainsi que le temps nécessaire pour effectuer des opérations telles que les appels RPC. Trace peut également vous aider lorsque vous développez un service ou résolvez un problème. Par exemple, il peut vous aider à comprendre comment les requêtes sont traitées dans une architecture de microservices complexe et à identifier les journaux à examiner.

Comme Trace reçoit des données de latence de certains Google Cloud services, tels qu'App Engine, et d'applications instrumentées avec l'API Cloud Trace, il peut vous aider à répondre aux questions suivantes :

  • Combien de temps faut-il à mon application pour traiter une requête donnée ?
  • Pourquoi mon application est-elle si longue à traiter ma requête ?
  • Pourquoi le traitement de certaines requêtes est-il plus long que pour d'autres ?
  • Quelle est la latence globale des requêtes adressées à mon application ?
  • La latence de mon application a-t-elle augmenté ou diminué avec le temps ?
  • Que puis-je faire pour réduire la latence de mon application ?
  • Quelles sont les dépendances de mon application ?

Si vous souhaitez savoir comment utiliser Trace pour gérer vos applications, consultez l'article de blog Résoudre les problèmes liés aux applications distribuées : utiliser conjointement les traces et les journaux pour analyser l'origine des problèmes.

Pour en savoir plus sur le profilage de votre application, consultez Cloud Profiler.

Environnements compatibles

Trace s'exécute sur Linux dans les environnements suivants :

Trace fournit des bibliothèques clientes pour instrumenter votre application afin de capturer des informations de trace. Pour obtenir les instructions de configuration par langage, consultez la page Instrumenter pour Trace.

Configurations avec traçage automatique

Certaines configurations entraînent la capture automatique des données de trace :

  • Environnement standard App Engine

    Les applications Java 8, Python 2 et PHP 5 n'ont pas besoin d'utiliser les bibliothèques clientes Trace. Ces environnements d'exécution envoient automatiquement des données de latence à Trace pour les requêtes adressées aux URI de l'application. Les requêtes incluent des données de latence pour les appels RPC aller-retour aux services App Engine. Trace fonctionne avec toutes les API d'administration d'App Engine, à l'exception de Cloud SQL.

  • Cloud Run Functions et Cloud Run

    Pour les requêtes HTTP entrantes et sortantes, les données de latence sont automatiquement envoyées à Trace.

API qui ingèrent des données de trace

Vous pouvez envoyer des données de trace à votre projet à l'aide de l'API Telemetry ou de l'API Cloud Trace. Nous vous recommandons d'utiliser l'API Telemetry pour les raisons suivantes :

  • L'API est compatible avec l'écosystème Open Source OpenTelemetry et ses limites sont souvent plus généreuses que celles de l'API Cloud Trace, qui est une API propriétaire Google Cloud

  • Vos données de trace sont stockées dans un format généralement cohérent avec les fichiers proto définis par le protocole OTLP OpenTelemetry. Certains champs peuvent être convertis d'un type de données spécifique à OpenTelemetry en un type de données JSON avant d'être stockés. Pour en savoir plus sur le format de stockage, consultez la section Schéma des données de trace.

  • Pour l'exportation des données de trace basée sur un collecteur, votre instrumentation ne dépend pas d'un Google Cloud-exportateur spécifique.

  • Certaines fonctionnalités, telles que la surveillance des applications, reposent sur des informations qui ne sont disponibles que lorsque vous envoyez des données de trace à l'API Telemetry.

Si vous souhaitez empêcher votre Google Cloud projet de stocker des données de trace, désactivez l'API Cloud Trace. La désactivation de l'API Cloud Trace entraîne les conséquences suivantes :

  • Google Cloud Les services n'envoient pas de données de trace à votre projet.
  • Google Cloud Les réponses aux requêtes envoyées à un point de terminaison de l'API Cloud Trace contiennent un code d'erreur.
  • Google Cloud Observability ignore les données de trace envoyées au point de terminaison de l'API Telemetry spécifique aux traces. Ne désactivez pas l'API Telemetry, car elle peut recevoir des données de journal, de métriques et de trace.

Langues acceptées

Le tableau suivant récapitule la disponibilité des bibliothèques clientes Trace et des OpenTelemetry pour lesquelles il existe un exportateur vers Trace.

Langue Bibliothèque cliente
disponible
Bibliothèque/exportateur OpenTelemetry
disponible
C++ Oui Oui
C# ASP.NET Core Oui Non
C# ASP.NET Oui Non
Go Oui Oui
Java Oui Oui
Node.js Oui Oui
PHP Oui Non
Python Oui Oui
Ruby Oui Oui

OpenTelemetry OpenTelemetry sont plus simples à utiliser que les bibliothèques clientes Trace, car elles masquent une partie de la complexité de l'API Trace correspondante. Pour obtenir des recommandations sur l'instrumentation, consultez la section Choisir une approche d'instrumentation.

Composants

Trace est un client de traçage qui collecte des traces et les envoie à votre Google Cloud projet. Vous pouvez ensuite consulter et analyser les données collectées par l'agent dans la Google Cloud console. Pour en savoir plus sur le modèle de données, consultez la section Traces et segments.

Client de traçage

Si une bibliothèque OpenTelemetry est disponible pour votre langage de programmation, vous pouvez simplifier le processus de création et d'envoi de données de trace en utilisant OpenTelemetry. En plus d'être plus simple à utiliser, OpenTelemetry implémente le traitement par lot, ce qui peut améliorer les performances.

Si aucune bibliothèque OpenTelemetry n'existe, instrumentez votre code en important la bibliothèque du SDK Trace et en utilisant l'API Cloud Trace. L'API Cloud Trace envoie des données de trace à votre Google Cloud projet.

Interface de traçage

Vous pouvez afficher et analyser vos données de trace en temps quasi réel dans l'interface Trace.

Pour afficher et analyser vos données de segment, vous pouvez utiliser les Explorateur Trace et Observability Analytics pages de la Google Cloud console :

  • Explorateur Trace : affiche des informations agrégées sur vos données de trace et vous permet d'examiner des traces individuelles en détail. Les données de latence agrégées sont affichées sur une carte de densité que vous pouvez explorer avec votre pointeur. Pour limiter les données affichées, vous pouvez ajouter des filtres. Cette page vous permet également d'afficher et d'explorer des segments et des traces individuels :

  • Observability Analytics : cette page vous permet d'exécuter des requêtes qui effectuent une analyse agrégée de vos segments à l'aide de SQL. Vos requêtes SQL peuvent également joindre vos données de trace et de journal. Vous pouvez afficher les résultats de votre requête sous forme de tableau ou de graphique. Si vous créez un ensemble de données associé, vous pouvez utiliser BigQuery pour analyser vos segments. Pour en savoir plus, consultez la section Interroger et analyser des traces.

Compatibilité avec VPC Service Controls

Trace est un service compatible avec VPC Service Controls. Le nom du service Trace est cloudtrace.googleapis.com. Toutes les restrictions VPC Service Controls que vous créez pour le service Trace ne s'appliquent qu'à ce service. Ces restrictions ne s'appliquent à aucun autre service, y compris ceux comme le telemetry.googleapis.com service, qui peuvent également ingérer des données de trace.

Pour en savoir plus, consultez les ressources suivantes :

Cloud Trace et résidence des données

Si vous utilisez Assured Workloads car vous avez des exigences de résidence des données ou de niveau d'impact 4 (IL4), n'utilisez pas l'API Cloud Trace pour envoyer des segments de trace.

Si vous souhaitez empêcher votre Google Cloud projet de stocker des données de trace, désactivez l'API Cloud Trace. La désactivation de l'API Cloud Trace entraîne les conséquences suivantes :

  • Google Cloud Les services n'envoient pas de données de trace à votre projet.
  • Google Cloud Les réponses aux requêtes envoyées à un point de terminaison de l'API Cloud Trace contiennent un code d'erreur.
  • Google Cloud Observability ignore les données de trace envoyées au point de terminaison de l'API Telemetry spécifique aux traces. Ne désactivez pas l'API Telemetry, car elle peut recevoir des données de journal, de métriques et de trace.

Tarifs

Pour en savoir plus sur les tarifs de Cloud Trace, consultez la page Tarifs de Google Cloud Observability.

Étape suivante