Dépannage

Cette page contient des informations de dépannage pour Trace.

Ce document explique comment résoudre les problèmes lorsque vous utilisez la page Explorateur de traces ou l'ancienne page Explorateur de traces:

Problèmes connus

Il existe deux problèmes connus avec la page Explorer de traces:

  • Les étendues écrites dans votre projet Google Cloud avant le 11 janvier 2025 risquent de ne pas être disponibles. Ces plages sont disponibles sur l'ancienne page Explorateur de traces.

  • Le volet d'informations sur l'événement pour les périodes écrites dans votre projet Google Cloud avant le 11 janvier 2025 peut s'afficher différemment que pour les périodes écrites après cette date.

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 Trace Explorer et vous ne parvenez pas à afficher de traces dans votre projet Google Cloud alors que vous pensez qu'elles sont présentes.

Essayez les étapes suivantes :

  1. Vérifiez que l'API Cloud Trace est activée et que des données sont écrites dans votre projet:

    1. Dans la console Google Cloud, accédez à la page API et services activés:

      Accéder à API et services activés

    2. 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.

  2. Sur la page Activer les API et les services, recherchez la ligne API Cloud Trace.

  3. Si la colonne Requêtes ne contient aucune information numérique, 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.

  4. Si la colonne intitulée Erreur affiche une valeur non nulle, cela signifie qu'il existe des erreurs lors de la lecture ou de l'écriture des données de trace. Pour en savoir plus sur la source des erreurs, sélectionnez API Cloud Trace, l'onglet Métriques, puis 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'autorisation cloudtrace.traces.patch, qui permet aux applications d'écrire des données span dans un projet Google Cloud.

      Pour en savoir plus, consultez la section 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 la page Rôles IAM Cloud Trace.

  5. Vérifiez que la page Explorateur de traces recherche des données de trace dans votre projet actuel:

    1. Dans la console Google Cloud, accédez à la page Explorateur Trace.

      Accéder à Explorateur Trace

      Vous pouvez également accéder à cette page à l'aide de la barre de recherche.

    2. 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.
  6. Essayez l'une des opérations suivantes :

Données anciennes manquantes sur la page Explorateur Trace

Vous utilisez la page Explorateur Trace et vous pouvez afficher les données récentes. Toutefois, lorsque vous définissez le sélecteur de période sur 30 jours ou sur une valeur plus élevée, les données plus anciennes ne s'affichent pas.

La page Explorer de traces n'affiche pas les données pour des 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 sa création.

Pour afficher et analyser d'anciennes données de trace, accédez à la page Explorateur de traces ancienne. Cette page lit les données de trace et de span à partir d'une base de données différente de celle de la page Trace Explorer.

Accéder à l'ancien explorateur Trace

Intervalles manquants dans une trace

Vous ouvrez la page Trace Explorer (Explorateur de traces) et sélectionnez un délai à afficher. Le panneau volant Détails affiche la trace, mais certains délais sont manquants.

Les étendues peuvent être manquantes pour les raisons suivantes:

  • La page Explorateur de traces ne recherche pas tous les projets Google Cloud qui stockent des données de span pour la trace.

  • Votre rôle IAM dans un projet Google Cloud qui stocke des données de span 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 sections d'une trace ont été envoyées à votre projet Google Cloud.

  • Elles ont été écrites dans votre projet Google Cloud avant le 11 janvier 2025.

Pour résoudre ces problèmes, procédez comme suit:

  1. Déterminez si la trace est terminée sur la page Explorateur Trace ancienne:

    1. Dans le volet Détails de la trace, copiez l'ID de la trace dans le presse-papiers.

    2. Accédez à l'ancien explorateur de traces :

      Accéder à l'ancien explorateur Trace

    3. 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 des délais pour la trace.

  2. Si la trace est terminée sur la page Explorateur de traces ancienne, revenez sur la page Explorateur de traces 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 délais pour la trace sélectionnée.

    Si aucun champ d'application de la trace n'inclut les projets que vous avez identifiés à l'étape précédente, créez ou modifiez un champ d'application de la trace existant. Pour en savoir plus, consultez la section Créer et gérer des champs d'action de trace.

  3. Si la trace n'est pas terminée sur la page Explorateur Trace ancienne, cela signifie que les segments n'ont pas été enregistrés ou que vous ne disposez pas du rôle Utilisateur de Cloud Trace (roles/cloudtrace.user) sur les projets qui stockent les données de segment.

Vous ne disposez pas des autorisations nécessaires pour afficher les données de trace

Vous consultez la page Explorateur de traces 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:

  1. Développez l'élément Champ d'application et identifiez le champ d'application de la trace sélectionnée.
  2. Dans le pop-up Affiner le champ d'application, sélectionnez Gérer les champs d'application.
  3. Recherchez le champ d'application de la trace que vous avez identifié à la première étape, puis développez les détails pour afficher la liste des projets Google Cloud.
  4. Pour chaque projet Google Cloud inclus dans le champ d'application de la trace, 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 au propriétaire du projet de vous l'attribuer.

Forcer la création de la base de données pour la page Explorateur de traces

Lorsque les seules données de trace de votre projet proviennent de services préconfigurés pour Cloud Trace, la base de données que la page Explorateur Trace lit pour vos données de trace et de délai peut ne pas être créée. Google Cloud 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, vous pouvez effectuer les opérations suivantes:

  1. Accédez à la page de documentation patchTraces.
  2. Dans le volet Essayer cette méthode, procédez comme suit:

    1. Dans le champ projectId, saisissez votre PROJECT_ID.
    2. Copiez le code JSON, qui définit une trace avec une seule étendue, 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 et spanId chaque fois que vous exécutez la commande.

        "traces": [
          {
            "projectId": "PROJECT_ID",
            "traceId": "33fc0d8c45bb4e5cebb29f047931270d",
            "spans": [
              {
                "spanId": "17941747227541407973",
                "name": "/",
                "startTime": "START_TIME",
                "endTime": "END_TIME",
              }
            ]
          }
        ]
        
    3. Appuyez sur Exécuter.

      Lorsque la commande se termine, le corps de la réponse est vide. Si vous accédez à l'explorateur de traces, 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 lorsque vous utilisez l'ancien explorateur de traces.

Aucune donnée dans l'ancienne interface

Vous utilisez l'explorateur de traces ancien 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:

  1. Enable the Cloud Trace API.

    Enable the API

  2. Dans la console Google Cloud, accédez à la page API et services:

    Accéder à 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, 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, l'onglet Métriques, puis 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'autorisation cloudtrace.traces.patch, qui permet aux applications d'écrire des données span dans un projet Google Cloud.

        Pour en savoir plus, consultez la section 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 la page 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 compte de service a reçu le rôle Agent Cloud Trace (roles/cloudtrace.agent).

    Ce rôle inclut l'autorisation cloudtrace.traces.patch, qui permet aux applications d'écrire des données span 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 de 0.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 pour utiliser l'échantillonneur par défaut, à savoir parentbased_always_on. Le paramètre par défaut signifie que la décision d'échantillonnage d'un intervalle est héritée de son intervalle parent, le cas échéant. Si une étendue parente n'existe pas, l'étendue est échantillonnée.

    Sauf si votre application échantillonne toujours chaque intervalle, il n'est généralement pas possible de forcer le traçage d'une requête de bout en bout, 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 à l'en-tête de trace un indicateur sampled, avec cet indicateur défini sur true. Ce paramètre est un indice pour les composants enfants d'échantillonner la requête. Pour en savoir plus sur les en-têtes de trace, consultez la section Protocoles de propagation du contexte.

Message d'ID de span manquant dans la trace

Votre trace contient un message "ID de span manquant".

Dans les systèmes de traçage distribué, des traces incomplètes sont à prévoir. Une trace est incomplète lorsqu'une étendue échantillonnée contient une référence à une autre étendue qui n'a pas été reçue. La référence non résolue peut se produire pour les raisons suivantes:

  • L'intervalle référencé n'a pas été échantillonné.
  • Le délai référencé a été échantillonné, mais n'a pas encore été reçu par Cloud Trace ou il a été reçu, mais pas stocké.

Lorsque vous affichez une trace incomplète, Cloud Trace affiche le message "ID de span manquant" dans le volet "Détails de la trace".

Si le message "ID de span manquant" s'affiche de manière récurrente, procédez comme 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 d'échantillonner la requête. Pour en savoir plus sur les en-têtes de trace, consultez la section Protocoles de propagation du contexte.

    Les servicesGoogle Cloud respectent généralement cette indication. Toutefois, ils limitent également la fréquence à laquelle ils écrivent des données de trace.

  • Si vous utilisez Cloud Service Mesh, veillez à suivre les conseils de propagation du contexte de trace pour ces configurations. Pour obtenir des conseils sur Cloud Service Mesh, consultez la section 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 des traces. Après avoir mis à jour votre application pour qu'elle utilise 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 la page OpenCensus Bridge.

Pour en savoir plus sur la mise à jour des bibliothèques clientes Cloud pour Go, consultez l'problème 4237.