Affichez la latence des requêtes d'application
Découvrez comment collecter et afficher les données de latence de vos applications:
Créer un cluster Google Kubernetes Engine (GKE) à l'aide de la Google Cloud CLI
Téléchargez et déployez un exemple d'application sur votre cluster.
Créer une trace en envoyant une requête HTTP à l'exemple d'application
Affichez les informations de latence de la trace que vous avez créée.
Effectuer un nettoyage.
Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud , cliquez sur Visite guidée :
Avant de commencer
-
Les contraintes de sécurité définies par votre organisation peuvent vous empêcher d'effectuer les étapes suivantes. Pour en savoir plus sur la résolution de ce problème, consultez Développer des applications dans un environnement Google Cloud limité.
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Google Kubernetes Engine and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Google Kubernetes Engine and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer un cluster Google Kubernetes Engine et afficher les segments de trace, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
- Administrateur de Kubernetes Engine (
roles/container.admin) - Utilisateur Cloud Trace (
roles/cloudtrace.user) - Utilisateur du compte de service (
roles/iam.serviceAccountUser) - Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un cluster GKE
Ce guide crée un cluster GKE standard. Si vous utilisez le mode Autopilot pour Google Kubernetes Engine ou si vous activez Workload Identity Federation for GKE, vous devez configurer votre application pour qu'elle utilise Workload Identity Federation for GKE.
Dans la barre d'outils, cliquez sur terminal
Activer Cloud Shell , puis effectuez les étapes suivantes dans Cloud Shell.Créez un cluster :
gcloud container clusters create cloud-trace-demo --zone us-central1-cLa commande précédente, qui prend plusieurs minutes, crée un cluster standard nommé
cloud-trace-demodans la zoneus-central1-c.Configurez
kubectlpour actualiser automatiquement ses identifiants afin d'utiliser la même identité que la Google Cloud CLI:gcloud container clusters get-credentials cloud-trace-demo --zone us-central1-cVérifiez l'accès à votre cluster:
kubectl get nodesVoici un exemple de sortie pour cette commande :
NAME STATUS ROLES AGE VERSION gke-cloud-trace-demo-default-pool-063c0416-113s Ready <none> 78s v1.22.12-gke.2300 gke-cloud-trace-demo-default-pool-063c0416-1n27 Ready <none> 79s v1.22.12-gke.2300 gke-cloud-trace-demo-default-pool-063c0416-frkd Ready <none> 78s v1.22.12-gke.2300
Télécharger et déployer une application
Téléchargez et déployez une application Python qui utilise le framework Flask et le package OpenTelemetry. L'application est décrite dans la section À propos de l'application de cette page.
Dans Cloud Shell, procédez comme suit :
Clonez une application Python depuis GitHub:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.gitExécutez la commande suivante pour déployer l'exemple d'application:
cd python-docs-samples/trace/cloud-trace-demo-app-opentelemetry && ./setup.shL'exécution du script
setup.shprend plusieurs minutes.Le script configure trois services à l'aide d'une image prédéfinie, puis attend que toutes les ressources soient provisionnées. Les charges de travail sont nommées
cloud-trace-demo-a,cloud-trace-demo-betcloud-trace-demo-c.Voici un exemple de sortie pour cette commande :
deployment.apps/cloud-trace-demo-a is created service/cloud-trace-demo-a is created deployment.apps/cloud-trace-demo-b is created service/cloud-trace-demo-b is created deployment.apps/cloud-trace-demo-c is created service/cloud-trace-demo-c is created Wait for load balancer initialization complete...... Completed.
Créer des données de trace
Une trace décrit le temps nécessaire à une application pour effectuer une seule opération.
Pour créer une trace, exécutez la commande suivante dans Cloud Shell:
curl $(kubectl get svc -o=jsonpath='{.items[?(@.metadata.name=="cloud-trace-demo-a")].status.loadBalancer.ingress[0].ip}')
La réponse de la commande précédente se présente comme suit:
Hello, I am service A
And I am service B
Hello, I am service C
Vous pouvez exécuter la commande curl plusieurs fois pour générer plusieurs traces.
Afficher les données de latence
-
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.
La capture d'écran suivante montre le résultat de l'exécution plusieurs fois de la commande
curl. Le graphique affiche les données de latence agrégées pour les spans, qui décrivent les sous-opérations de trace.
Pour afficher les détails d'une trace, sélectionnez un segment dans le graphique ou une ligne dans la table.
La boîte de dialogue "Détails de la trace" s'ouvre, comme illustré dans la capture d'écran suivante :
Un diagramme de Gantt affiche des informations sur la trace sélectionnée. La première ligne du diagramme de Gantt correspond à la trace, et chaque ligne suivante est un segment de la trace.
Pour afficher des informations détaillées sur un segment, sélectionnez-le dans le diagramme de Gantt.