Ce document explique comment résoudre les problèmes liés à l'utilisation de la page Explorateur de trace ou de l'ancienne page Explorateur de trace :
- Résoudre les problèmes liés à la page Explorateur Trace
- Résoudre les problèmes liés à l'ancienne page Explorateur Trace
Problèmes connus
Cette section répertorie les problèmes connus :
Les spans écrits dans votre projet Google Cloud à l'aide de l'API Telemetry ne sont pas disponibles sur l'ancienne page Trace Explorer. Pour afficher ces spans, utilisez la page Trace Explorer par défaut.
Les spans écrits dans votre projet Google Cloud à l'aide de l'API Telemetry ne sont pas accessibles à l'API Cloud Trace. Par exemple, si vous essayez de lister ces traces, la commande échoue et renvoie une erreur
404 Not Found
.
Résoudre les problèmes liés à la page Explorateur Trace
Cette section explique comment résoudre les problèmes liés à l'utilisation de la page Trace Explorer.
Aucune donnée sur la page Explorateur Trace
Vous utilisez la page Explorateur Trace et vous ne parvenez pas à afficher de traces dans votre projet Google Cloud alors que vous pensez qu'elles sont présentes.
Essayez les opérations suivantes :
Vérifiez que l'API Cloud Trace est activée et que des données sont écrites dans votre projet :
Dans la console Google Cloud , accédez à la page API et services activés :
Si l'API Cloud Trace est répertoriée, passez à l'étape suivante. Sinon, activez l'API.
Pour activer l'API, cliquez sur Activer les API et les services, recherchez "API Cloud Trace", sélectionnez l'option, puis cliquez sur Activer.
Sur la page Activer les API et les services, recherchez la ligne API Cloud Trace.
La colonne Requêtes indique le nombre de requêtes envoyées à l'API Cloud Trace. Lorsque cette colonne est égale à zéro, aucune donnée de trace n'est envoyée via cette API. Toutefois, il est possible que votre projet contienne des données de trace. Par exemple, certains services Google Cloud , comme l'environnement standard App Engine, les fonctions Cloud Run et Cloud Run, envoient des données de trace à votre projet sans utiliser l'API Cloud Trace.
Si vous avez une application qui envoie des données de trace via l'API Cloud Trace et que la colonne "Requêtes" est à zéro, vérifiez vos applications et vos proxys pour vous assurer qu'ils sont configurés pour envoyer les traces au bon projet.
Si la colonne Erreur affiche une valeur non nulle, cela signifie qu'il y a des erreurs de lecture ou d'écriture des données de trace. Pour en savoir plus sur la source des erreurs, sélectionnez API Cloud Trace, puis l'onglet Métriques. Ensuite, recherchez le graphique intitulé Erreurs par méthode API :
Si les écritures échouent, attribuez au compte de service qui fournit les identifiants d'authentification le rôle Agent Cloud Trace (
roles/cloudtrace.agent
). Ce rôle inclut l'autorisationcloudtrace.traces.patch
, qui permet aux applications d'écrire des données de portée dans un projet Google Cloud .Pour en savoir plus, consultez Rôles IAM Cloud Trace.
Si les lectures échouent, assurez-vous que votre rôle IAM sur le projet Google Cloud inclut les autorisations du rôle Utilisateur Cloud Trace (
roles/cloutrace.user
). Pour obtenir la liste des autorisations associées à ce rôle, consultez Rôles IAM Cloud Trace.
Vérifiez que la page Explorateur Trace recherche des données de trace dans votre projet actuel :
-
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.
- Dans la barre d'outils, accédez à l'élément Champ d'application, développez le menu Affiner le champ d'application, sélectionnez Projet actuel, puis Appliquer.
-
Essayez l'une des opérations suivantes :
Accédez à l'ancienne page Explorateur Trace. Cette page lit les données de trace et d'étendue à partir d'une base de données différente de celle de la page Explorateur de traces.
Utilisez l'API Cloud Trace pour envoyer un span à votre projet Google Cloud . Pour en savoir plus, consultez Forcer la création d'une base de données pour la page Explorateur de traces.
La recherche d'une trace spécifique échoue
Vous saisissez un ID de trace sur la page Explorateur Trace. La trace est introuvable et un message semblable à celui-ci s'affiche :
The select trace with ID abcde does not exist or is older than 30 days and has been deleted per our retention policy.
Pour résoudre ce problème, procédez comme suit :
Assurez-vous que le code temporel associé à l'ID de trace se trouve dans la période de conservation.
Identifiez le projet Google Cloud qui stocke la trace et assurez-vous que le sélecteur de ressources de la console Google Cloud sélectionne ce projet. Par défaut, la page Explorateur Trace n'a accès qu'aux données de trace stockées dans le projet sélectionné.
Données anciennes manquantes sur la page Explorateur Trace
Vous utilisez la page Explorateur Trace et vous pouvez afficher les données récentes, mais lorsque vous définissez le sélecteur de période sur 30 jours ou sur une valeur supérieure, les données plus anciennes ne s'affichent pas.
La page Explorateur de traces n'affiche pas les données pour les périodes supérieures à la période de conservation des données de Cloud Trace, qui est de 30 jours.
Si le sélecteur de période est défini sur 30 jours ou moins, les données manquantes indiquent que la base de données interrogée par les requêtes de la page Explorateur de traces a été créée plus récemment que votre paramètre de période. Par exemple, si vous définissez cette valeur sur 20 jours et que vous ne pouvez voir que les 10 derniers jours de données, cela signifie que la base de données a été créée il y a 10 jours. De plus, cette base de données ne contient que les traces qui ont été envoyées à votre projet Google Cloud après la création de la base de données.
Pour afficher et analyser d'anciennes données de trace, passez à l'ancienne page Explorateur Trace. Cette page lit les données de trace et d'étendue à partir d'une base de données différente de celle de la page Explorateur de traces.
Accéder à l'ancien explorateur Trace
Plages manquantes dans une trace
Vous ouvrez la page Explorateur Trace et sélectionnez un span à afficher. Le menu déroulant Détails affiche la trace, mais certaines portées sont manquantes.
Il peut manquer des étendues pour les raisons suivantes :
La page Explorateur Trace ne recherche pas tous les projets Google Cloud qui stockent les données de span pour la trace.
Votre rôle IAM sur un projet Google Cloud qui stocke les données de portée pour la trace ne contient pas les autorisations nécessaires pour afficher les données de trace.
Un problème d'instrumentation est survenu. Par exemple, seules certaines portées d'une trace ont été envoyées à votre projet Google Cloud .
Pour résoudre ces problèmes, procédez comme suit :
Déterminez si la trace est complète sur la page ancienne Explorateur Trace :
Dans le menu déroulant Détails de la trace, copiez l'ID de la trace dans le presse-papiers.
Accédez à l'ancienne page Explorateur Trace :
Collez l'ID de trace dans le champ ID de trace.
La page Détails de la trace est mise à jour et liste les projets qui stockent les spans de la trace.
Si la trace est complète sur la page ancienne Explorateur Trace, revenez sur la page Explorateur Trace et définissez l'élément Champ d'application sur un champ d'application de trace qui liste tous les projets que vous avez identifiés à l'étape précédente. Il s'agit des projets qui stockent les spans de la trace sélectionnée.
S'il n'existe pas de champ d'application de trace incluant les projets que vous avez identifiés à l'étape précédente, créez ou modifiez un champ d'application de trace existant. Pour en savoir plus, consultez Créer et gérer des champs d'application de trace.
Si la trace n'est pas complète sur la page ancienne Explorateur de trace, cela signifie que les spans n'ont pas été enregistrés ou que vous ne disposez pas du rôle Utilisateur Cloud Trace (
roles/cloudtrace.user
) dans les projets qui stockent les données de span.
Vous ne disposez pas des autorisations nécessaires pour afficher les données de trace
Vous consultez la page Explorateur Trace et la notification suivante s'affiche :
You don't have the required permissions to view trace data for one or more projects listed in the trace scope.
Pour résoudre ce problème, procédez comme suit dans la barre d'outils :
- Développez l'élément Champ d'application et identifiez le champ d'application de la trace sélectionnée.
- Dans le menu déroulant Affiner le champ d'application, sélectionnez Gérer les niveaux d'accès.
- Localisez le champ d'application de la trace que vous avez identifié lors de la première étape, puis développez les détails pour afficher la liste des projets Google Cloud .
- Pour chaque projet Google Cloud dans le champ d'application du traçage, assurez-vous de disposer du rôle Utilisateur Cloud Trace (
roles/cloudtrace.user
). Si vous ne disposez pas de ce rôle pour un projet, demandez à un administrateur ou à un propriétaire de projet de vous l'attribuer.
Forcer la création d'une base de données pour la page Explorateur de traces
Lorsque les seules données de trace de votre projet proviennent de services Google Cloud préconfigurés pour Cloud Trace, il est possible que la base de données que la page Explorateur Trace lit pour vos données de trace et de délai ne soit pas créée. Toutefois, vous pouvez forcer la création de cette base de données en envoyant une trace à votre projet Google Cloud à l'aide de l'API Cloud Trace.
Par exemple :
- Accédez à la page de documentation
patchTraces
. Dans le volet Essayer cette méthode, procédez comme suit :
- Dans le champ projectId, saisissez votre PROJECT_ID.
Copiez le code JSON, qui définit une trace avec une seule portée, dans votre presse-papiers, puis collez-le dans le champ Corps de la requête.
Avant de copier le code JSON, procédez comme suit :
- Remplacez PROJECT_ID par l'ID de votre projet.
Remplacez END_TIME par l'heure actuelle et START_TIME par une valeur antérieure à l'heure de fin. Si vous utilisez Linux, exécutez
date -Isec
pour obtenir l'heure actuelle au format approprié. Par exemple, vous pouvez définir ces champs comme suit :"startTime": "2024-05-31T15:10:35.398448Z", "endTime": "2024-05-31T15:10:35.574999047Z",
Mettez à jour les champs
traceId
etspanId
chaque fois que vous exécutez la commande."traces": [ { "projectId": "PROJECT_ID", "traceId": "33fc0d8c45bb4e5cebb29f047931270d", "spans": [ { "spanId": "17941747227541407973", "name": "/", "startTime": "START_TIME", "endTime": "END_TIME", } ] } ]
Appuyez sur Exécuter.
Lorsque la commande s'exécute correctement, le corps de la réponse est vide. Si vous accédez à l'explorateur Trace, vous pouvez afficher votre trace. Un léger délai peut être nécessaire avant que la trace ne soit disponible dans la console Google Cloud .
Résoudre les problèmes liés à l'ancienne page Explorateur Trace
Cette section explique comment résoudre les problèmes liés à l'utilisation de l'ancienne page Trace Explorer .
Aucune donnée dans l'ancienne interface
Vous utilisez l'ancienne page Explorateur de traces et vous ne parvenez pas à afficher de traces dans votre projet Google Cloud alors que vous pensez qu'elles sont présentes.
Pour résoudre ce problème, procédez comme suit :
-
Enable the Cloud Trace API.
Dans la console Google Cloud , accédez à la page API et services :
Une fois que vous avez trouvé la ligne intitulée API Cloud Trace, procédez comme suit :
Si la colonne Requêtes ne contient aucune information numérique, cela signifie qu'aucune donnée de trace n'est envoyée à votre projet Google Cloud .
Pour résoudre ce problème, vérifiez vos applications et vos proxys pour vous assurer qu'ils sont configurés pour envoyer les traces au bon projet.
Sélectionnez API Cloud Trace, puis l'onglet Métriques. Ensuite, recherchez le graphique intitulé Erreurs par méthode API :
Si les écritures échouent, attribuez au compte de service qui fournit les identifiants d'authentification le rôle d'agent Cloud Trace (
roles/cloudtrace.agent
). Ce rôle inclut l'autorisationcloudtrace.traces.patch
, qui permet aux applications d'écrire des données de portée dans un projet Google Cloud .Pour en savoir plus, consultez Rôles IAM Cloud Trace.
Si les lectures échouent, assurez-vous que votre rôle IAM sur le projet Google Cloud inclut les autorisations du rôle Utilisateur Cloud Trace (
roles/cloutrace.user
). Pour obtenir la liste des autorisations associées à ce rôle, consultez Rôles IAM Cloud Trace.
Aucune donnée de trace pour l'application déployée dans l'ancienne interface
Vous avez déployé une application qui envoie des données à votre projet Google Cloud à l'aide de l'API Cloud Trace, mais les données de trace ne sont pas collectées.
Essayez d'exécuter les commandes suivantes :
Si aucune donnée ne s'affiche sur la page Explorateur Trace ancienne de la console Google Cloud , suivez les étapes décrites dans la section Aucune donnée dans l'interface Trace ancienne.
Si l'application n'est pas déployée sur Google Cloud ou si elle utilise un compte de service pour fournir des identifiants d'authentification, assurez-vous que le rôle Agent Cloud Trace (
roles/cloudtrace.agent
) a été attribué au compte de service.Ce rôle inclut l'autorisation
cloudtrace.traces.patch
, qui permet aux applications d'écrire des données de portée dans un projet Google Cloud .Si l'application repose sur OpenTelemetry, procédez comme suit :
Pour le service racine, essayez de mettre à jour vos variables d'environnement afin qu'OpenTelemetry utilise l'échantillonneur
traceidratio
avec un taux d'échantillonnage de0.5
:export OTEL_TRACES_SAMPLER="traceidratio" export OTEL_TRACES_SAMPLER_ARG="0.5"
Pour tous les autres services, ne définissez pas la variable d'environnement
OTEL_TRACES_SAMPLER
afin d'utiliser l'échantillonneur par défaut, qui estparentbased_always_on
. Le paramètre par défaut signifie que la décision d'échantillonnage d'une portée est héritée de sa portée parente, si elle existe. Si une portée parente n'existe pas, la portée est échantillonnée.
À moins que votre application n'échantillonne toujours chaque span, il n'est généralement pas possible de forcer le traçage de bout en bout d'une requête, car chaque composant d'une requête de bout en bout prend sa propre décision d'échantillonnage. Toutefois, vous pouvez influencer la décision en ajoutant un indicateur
sampled
à l'en-tête de trace, en définissant cet indicateur surtrue
. Ce paramètre est un indice pour les composants enfants afin d'échantillonner la requête. Pour en savoir plus sur les en-têtes de trace, consultez Protocoles de propagation du contexte.
Message d'ID de portée manquant dans la trace
Votre trace contient un message "Missing span ID" (ID de span manquant).
Dans les systèmes de traçage distribué, les traces incomplètes sont normales. Une trace est incomplète lorsqu'une portée échantillonnée contient une référence à une autre portée qui n'a pas été reçue. Une référence non résolue peut se produire pour les raisons suivantes :
- La portée référencée n'a pas été échantillonnée.
- La portée référencée a été échantillonnée, mais n'a pas encore été reçue par Cloud Trace, ou la portée a été reçue, mais pas stockée.
Lorsque vous consultez une trace incomplète, Cloud Trace affiche le message "ID de span manquant" dans le volet de détails de la trace.
Si le message "ID de portée manquant" s'affiche régulièrement, essayez ce qui suit :
Pour les composants que vous gérez, assurez-vous qu'ils respectent et propagent l'indicateur
sampled
de l'en-tête, lorsque ce champ est présent. Ce paramètre est un indice pour les composants enfants afin d'échantillonner la requête. Pour en savoir plus sur les en-têtes de trace, consultez Protocoles de propagation du contexte.Les servicesGoogle Cloud respectent généralement cette indication. Toutefois, ils limitent également la fréquence à laquelle ils écrivent les données de trace.
Si vous utilisez Cloud Service Mesh, veillez à suivre les instructions pour propager le contexte de trace pour ces configurations. Pour obtenir des conseils sur Cloud Service Mesh, consultez Propagation du contexte de trace.
Aucune donnée de trace après la mise à jour de l'application Go pour utiliser OpenTelemetry
Votre application s'appuie sur la bibliothèque cliente pour capturer les traces. Après avoir mis à jour votre application pour utiliser OpenTelemetry, vous ne voyez plus les données Cloud Trace.
Étant donné que certaines bibliothèques clientes Cloud pour Go sont intégrées à OpenCensus, vous devez utiliser un pont OpenCensus. Pour en savoir plus sur le problème résolu par le pont, consultez Pont OpenCensus.
Pour en savoir plus sur la mise à jour des bibliothèques clientes Cloud pour Go, consultez le problème 4237.