Instructions et exigences de configuration de l'atelier
Protégez votre compte et votre progression. Utilisez toujours une fenêtre de navigation privée et les identifiants de l'atelier pour exécuter cet atelier.

Développement d'applications – Exploiter Cloud Trace et Cloud Monitoring : Node.js

Atelier 2 heures universal_currency_alt 5 crédits show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Ce contenu n'est pas encore optimisé pour les appareils mobiles.
Pour une expérience optimale, veuillez accéder à notre site sur un ordinateur de bureau en utilisant un lien envoyé par e-mail.

Présentation

Dans cet atelier, vous allez exploiter Cloud Trace et Cloud Monitoring pour diagnostiquer et résoudre un problème de performances dans l'application en cours d'exécution. Vous utiliserez également Cloud Monitoring pour afficher les métriques de performances de l'application.

Objectifs

Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :

  • Activer, installer et configurer Cloud Trace
  • Consulter les informations de trace pour diagnostiquer un problème de performances
  • Corriger le problème de performances et vérifier qu'il y a bien amélioration des performances
  • Surveiller les produits Google Cloud Platform à l'aide de Cloud Monitoring

Préparation

Mettre en place l'atelier

Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.

  1. Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.

  2. Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
    Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.

  3. Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.

  4. Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.

  5. Cliquez sur Ouvrir la console Google.

  6. Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
    Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.

  7. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.

Activer Google Cloud Shell

Google Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud.

Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.

  1. Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".

    Icône Cloud Shell encadrée

  2. Cliquez sur Continuer.

Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :

ID de projet mis en évidence dans le terminal Cloud Shell

gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.

  • Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list

Résultat :

Credentialed accounts: - @.com (active)

Exemple de résultat :

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project =

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.

Tâche 1 : Préparer l'application de l'étude de cas

Dans cette section, vous allez accéder à Cloud Shell, cloner le dépôt Git qui contient l'application Quiz, configurer les variables d'environnement et exécuter l'application.

Cloner le code source dans Cloud Shell

  1. Pour cloner le dépôt du cours, exécutez la commande suivante :
git clone --depth=1 https://github.com/GoogleCloudPlatform/training-data-analyst
  1. Créez un lien symbolique qui servira de raccourci vers le répertoire de travail :
ln -s ~/training-data-analyst/courses/developingapps/v1.3/nodejs/stackdriver-trace-monitoring ~/stackdriver-trace-monitoring

Configurer et exécuter l'application de l'étude de cas

  1. Accédez au répertoire qui contient les exemples de fichiers de l'atelier :
cd ~/stackdriver-trace-monitoring/start
  1. Pour configurer l'application Quiz, exécutez la commande suivante :
. prepare_environment.sh

Si vous y êtes invité, saisissez Y pour autoriser les appels non authentifiés.

Remarque : Ce fichier de script :
  • crée une application App Engine ;
  • exporte les variables d'environnement GCLOUD_PROJECT et GCLOUD_BUCKET ;
  • exécute la commande npm install ;
  • crée des entités dans Cloud Datastore ;
  • crée une instance, une base de données et des tables Cloud Spanner ;
  • crée deux sujets Google Cloud Pub/Sub ;
  • crée deux fonctions Cloud Functions ;
  • affiche l'ID du projet Google Cloud Platform.
  1. Pour terminer la préparation de l'environnement Cloud Shell en vue de l'exécution de l'application, utilisez les commandes suivantes :
gcloud iam service-accounts create quiz-account --display-name "Quiz Account" gcloud iam service-accounts keys create key.json --iam-account=quiz-account@$DEVSHELL_PROJECT_ID.iam.gserviceaccount.com export GOOGLE_APPLICATION_CREDENTIALS=key.json gcloud projects get-iam-policy $DEVSHELL_PROJECT_ID --format json > iam.json node setup/add_iam_policy_to_service_account.js gcloud projects set-iam-policy $DEVSHELL_PROJECT_ID iam_modified.json Remarque : Ces commandes :
  • créent un compte de service ;
  • créent et téléchargent le fichier de clé du compte de service ;
  • exportent une variable d'environnement GOOGLE_APPLICATION_CREDENTIALS qui référence le fichier de clé ;
  • créent les autorisations IAM nécessaires pour que le compte de service puisse accéder à toutes les API requises.

Dans un contexte de production sur Compute Engine ou Container Engine, vous devez accorder l'accès aux API à l'aide d'un compte de service personnalisé ou via des niveaux d'accès. En règle générale, vous êtes amené à autoriser GCP à gérer la rotation des clés.

Tâche 2 : Exploiter Cloud Trace

Dans cette section, vous allez activer l'API Trace, écrire le code servant à créer et démarrer la trace Cloud Trace dans l'application Quiz, et afficher les mesures de temps relatives à l'application pour plusieurs produits dans la console Cloud.

Activer l'API Cloud Trace

  1. Dans la console Cloud, accédez au menu de navigation, puis cliquez sur API et Services.
  2. Cliquez sur Bibliothèque.
  3. Dans Rechercher des API et des services, saisissez Google Trace.
  4. Cliquez sur API Cloud Trace.
  5. Si l'API est désactivée, cliquez sur Activer.

Écrire le code pour configurer Cloud Trace

  1. Revenez dans Cloud Shell.
  2. Afin d'installer l'agent Node.js pour Cloud Trace, exécutez la commande suivante :
npm install --save @google-cloud/trace-agent
  1. Dans Cloud Shell, cliquez sur Ouvrir l'éditeur afin d'ouvrir l'éditeur dans une nouvelle fenêtre.
  2. Accédez à stackdriver-trace-monitoring/start.
  3. Ouvrez ...frontend/app.js.
Remarque : Modifiez le code dans les sections marquées comme suit :

// TODO

// END TODO

Pour parfaire votre apprentissage, examinez le code, les commentaires intégrés et la documentation sur les API concernées.
  1. En haut du fichier app.js, chargez le module "@google-cloud/trace-agent", puis démarrez-le avec la méthode start() :

frontend/app.js

// TODO: Load the trace-agent and start it // Trace must be started before any other code in the // application. require('@google-cloud/trace-agent').start({ projectId: config.get('GCLOUD_PROJECT') }); // END TODO
  1. Enregistrez le fichier.

Exécuter l'application Web et afficher les données de trace

  1. Pour lancer l'application, exécutez la commande suivante :
npm start
  1. Dans Cloud Shell, cliquez sur Aperçu sur le Web > Preview on port 8080 (Prévisualiser sur le port 8080) pour prévisualiser l'application Quiz.
  2. Retournez à la console Cloud Platform.
  3. Dans le menu de navigation, cliquez sur Trace.
Remarque : La page "Présentation de Trace" s'ouvre. Notez que le chargement des données de la première requête peut prendre quelques minutes. Ensuite, les données de trace sont disponibles en quelques secondes seulement.
  1. En attendant l'arrivée des données de la première trace, revenez à la fenêtre Cloud Shell et vérifiez s'il y a des messages d'erreur.
Remarque : Un problème de synchronisation après l'activation des API peut parfois conduire à l'apparition d'erreurs liées à Cloud Trace et/ou à l'agent de débogage.

Si vous observez des erreurs, arrêtez l'application Quiz, redémarrez-la au bout d'une minute, puis actualisez la page d'accueil de l'application.
  1. Revenez à la page Trace dans la console Cloud Platform.
  2. Une fois que votre première trace présente des données, cliquez sur Liste de traces.
Remarque : Vous devriez voir la latence, la méthode HTTP et l'URL de la requête.
  1. Retournez dans l'application Quiz, puis cliquez sur Create Question (Créer une question).
  2. Remplissez le formulaire avec les valeurs suivantes :

Form Field (Champ du formulaire)

Value (Valeur)

Author (Auteur)

Your Name (Votre nom)

Quiz

Google Cloud Platform

Title (Titre)

Which Google Cloud product allows you to see request timing? (Quel produit Google Cloud vous permet de connaître les informations de minutage des requêtes ?)

Answer 1 (Réponse 1)

Debugger

Answer 2 (Réponse 2)

Error Reporting

Answer 3 (Réponse 3)

Logging

Answer 4 (Réponse 4)

Trace (sélectionnez la case d'option pour cette réponse "Answer 4")

  1. Cliquez sur Enregistrer.
  2. Retournez dans la fenêtre Cloud Trace de la console Cloud et activez l'option Actualisation automatique.
Remarque : Consultez la liste des traces.

Deux nouvelles requêtes finissent par apparaître :

  1. GET /questions/add
  2. POST /questions/add
  1. Cliquez sur la requête POST associée à l'URL /questions/add.
Remarque : Vous devriez voir la durée totale nécessaire pour traiter cette requête ainsi que l'appel effectué auprès de Cloud Datastore.
  1. Revenez à l'application Quiz, puis cliquez sur Take Test (Faire le test).
  2. Cliquez sur People (Personnes).
  3. Faites le test et envoyez vos commentaires.
  4. Retournez dans la fenêtre Cloud Trace de la console Cloud.
Remarque : Consultez à nouveau la liste des traces. Un ensemble de nouvelles requêtes finit par apparaître.

Identifiez les requêtes suivantes et cliquez dessus :

  1. POST /api/quizzes/people
  2. POST /api/quizzes/feedback/people

Ces éléments représentent les appels effectués depuis le côté client à destination de l'application Quiz.

Là encore, vous devriez voir le temps total nécessaire pour traiter la requête.

Notez que les appels sont séquentiels. En effet, la requête Cloud Pub/Sub a besoin des réponses correctes en provenance des entités "Question" dans Cloud Datastore pour pouvoir envoyer les données de réponse à Cloud Pub/Sub à des fins de stockage dans Cloud Spanner.
  1. Dans l'application Quiz, cliquez sur Quite Interesting Quiz (Quiz très intéressant) dans la barre d'outils, puis sur Leaderboard (Classement).
  2. Retournez dans la fenêtre Cloud Trace de la console Cloud et vérifiez les données de trace concernant la nouvelle requête.
Remarque : Vous devriez constater que cette requête inclut des appels vers Cloud Spanner.

Tâche 3 : Diagnostiquer un problème de performances à l'aide de Cloud Trace

Dans cette section, vous poursuivez votre exploration de l'application Quiz avec Cloud Trace, dans l'optique d'identifier et de résoudre un problème de performances.

Identifier un problème de performances avec Cloud Trace

  1. Retournez dans l'application Quiz, puis cliquez sur Take Test (Faire le test).
  2. Cliquez sur Places (Lieux).
  3. Faites le test et envoyez vos commentaires.
  4. Retournez dans la fenêtre Cloud Trace de la console Cloud.
Remarque : Consultez à nouveau la liste des traces. Un ensemble de nouvelles requêtes finit par apparaître.

Identifiez les requêtes suivantes et cliquez dessus :

  1. POST /api/quizzes/places
  2. POST /api/quizzes/feedback/places

Ces éléments représentent les appels effectués depuis le côté client à destination de l'application Quiz.

Là encore, vous devriez voir le temps total nécessaire pour traiter la requête.

Notez que les appels sont séquentiels. En effet, la requête Cloud Pub/Sub a besoin de données provenant de Cloud Datastore pour pouvoir envoyer les données de réponse à Cloud Pub/Sub.
Remarque : Vous devriez toutefois également constater que chaque appel à Cloud Pub/Sub est aussi envoyé selon un ordre séquentiel, ce qui n'est pas normal.
  1. Retournez dans l'application Quiz, puis cliquez sur GCP.
  2. Faites le test et envoyez vos commentaires.
  3. Retournez dans la fenêtre Cloud Trace de la console Cloud.
Remarque : Consultez à nouveau la liste des traces. Un ensemble de nouvelles requêtes finit par apparaître.

Identifiez les requêtes suivantes et cliquez dessus :

  1. POST /api/quizzes/gcp
  2. POST /api/quizzes/feedback/gcp

Ces éléments représentent les appels effectués depuis le côté client à destination de l'application Quiz.

Là encore, vous devriez voir le temps total nécessaire pour traiter la requête.

Notez que les appels sont séquentiels. En effet, la requête Cloud Pub/Sub a besoin de données provenant de Cloud Datastore pour pouvoir envoyer les données de réponse à Cloud Pub/Sub.
Remarque : Cependant, vous devriez également constater que, là encore, chaque appel à Cloud Pub/Sub est envoyé selon un ordre séquentiel.

Avec quatre questions dans le questionnaire, l'envoi des messages Cloud Pub/Sub prend quatre fois plus de temps !

Ce n'est absolument pas acceptable.

Modifier le code de l'application pour résoudre le problème de performances

  1. Revenez dans Cloud Shell et lancez l'éditeur de code, si celui-ci n'est pas déjà ouvert.
  2. Accédez à stackdriver-trace-monitoring/start/.
  3. Ouvrez ...frontend/api/index.js.
  4. Recherchez l'instruction qui publie les messages de réponse en ordre séquentiel, et modifiez-la pour effectuer les opérations en parallèle.
Remarque : Heureusement, cette correction est très simple. La modification du code est illustrée ci-dessous.

api/index.js avant la modification :

// TODO: Sends the answers to Pub/Sub in parallel // Sends the answers to Pub/Sub in sequence // Change sequence to parallel in the next statement sequence(answersWithCorrect.map(answer => () => publisher.publishAnswer(answer))).then(() => { // Waits until all the Pub/Sub messages have been acknowledged before returning to the client const score = answersWithCorrect.filter(a => a.answer == a.correct).length; res.status(200).json({ correct: score, total: questions.length }); }); // END TODO

api/index.js après la modification :

// TODO: Sends the answers to Pub/Sub in parallel // Changed to parallel parallel(answersWithCorrect.map(answer => () => publisher.publishAnswer(answer))).then(() => { // Waits until all the Pub/Sub messages have been acknowledged before returning to the client const score = answersWithCorrect.filter(a => a.answer == a.correct).length; res.status(200).json({ correct: score, total: questions.length }); }); // END TODO

Confirmer la résolution des problèmes avec Cloud Trace

  1. Revenez à Cloud Shell, arrêtez l'application en appuyant sur la combinaison de touches Ctrl+C, puis redémarrez-la.
  2. Retournez dans l'application Quiz, puis refaites les tests People (Personnes), Places (Lieux) et GCP.
  3. Retournez dans la fenêtre Cloud Trace de la console Cloud.
Remarque : Consultez à nouveau la liste des traces. Un ensemble de nouvelles requêtes finit par apparaître.

Identifiez les requêtes suivantes et cliquez dessus :

  1. POST /api/quizzes/people|places|gcp
  2. POST /api/quizzes/feedback/people|places|gcp

Ces éléments représentent les appels effectués depuis le côté client à destination de l'application Quiz.

Là encore, vous devriez voir le temps total nécessaire pour traiter la requête.
Remarque : Cette fois-ci, vous devriez constater que tous les messages Pub/Sub ont été distribués en parallèle. Le temps nécessaire au traitement des requêtes est nettement inférieur.

Tâche 4 : Visualiser les métriques d'application avec Cloud Monitoring

Dans cette section, vous poursuivez votre exploration de l'application Quiz avec Cloud Monitoring en vous intéressant aux métriques, et vous créez des tableaux de bord.

Créer un espace de travail Monitoring

Vous allez maintenant configurer un espace de travail Monitoring associé à votre projet Google Cloud. Suivez les étapes ci-dessous pour créer un compte incluant un essai sans frais de Monitoring.

  1. Dans la console Cloud, cliquez sur le Menu de navigation > Monitoring.

  2. Attendez que votre espace de travail soit provisionné.

Lorsque le tableau de bord Monitoring s'affiche, votre espace de travail est prêt.

Tableau de bord Monitoring ouvert sur la page "Présentation"

Créer un tableau de bord et explorer les métriques

  1. Dans le volet de gauche, cliquez sur Tableaux de bord.
  2. Cliquez sur + Créer un tableau de bord.
  3. Dans le champ Nom du nouveau tableau de bord, saisissez Quiz Application Metrics (métriques de l'application Quiz).
  4. Cliquez sur Graphique en courbes.
  5. Sous le champ Ressource et métrique, choisissez dans le menu déroulant Instance de VM - Utilisation du processeur.
  6. Activez Afficher uniquement les ressources et métriques actives.
Remarque : Exemples de ressources actives :

  • cloud_function
  • datastore_request
  • gae_app (du fait de Cloud Datastore)
  • gcs_bucket
  • global
  • pubsub_subscription
  • pubsub_topic
  • spanner_instance
  1. Cliquez sur chaque ressource l'une après l'autre, puis sélectionnez les métriques qui vous intéressent.
Remarque : Vous trouverez ci-dessous quelques exemples de métriques à explorer.

  • cloudfunctions/function/execution_count
  • datastore/api/request_count
  • storage/api/request_count
  • logging/log_entry_count
  • pubsub/subscription/num_outstanding_messages
  • pubsub/topic/message_sizes
  • spanner/api/request_count
  1. Créez plusieurs graphiques, y compris pour votre propre sélection de ressources et de métriques.
Remarque : Révisions

Quel produit Google Cloud doit être chargé en premier, avant tout autre élément de code ?

  1. Cloud Trace
  2. Cloud Debugger
  3. Cloud Error Reporting
  4. Cloud Logging
Quels produits GCP sont intégrés à Google Cloud Trace ?

  1. Cloud Datastore
  2. Cloud Spanner
  3. Cloud Pub/Sub
  4. Cloud Storage
Dans Cloud Monitoring, quelle fonctionnalité permet d'assembler des graphiques pour visualiser les performances de votre application ?

  1. Alertes
  2. Tests de disponibilité
  3. Tableaux de bord
  4. Groupes

Tâche 5 : Déployer l'application Quiz dans Container Engine ou App Engine (bonus)

Pour réaliser ce déploiement, utilisez les notes des ateliers correspondants. Une fois l'application déployée, vous serez en mesure de surveiller à la fois les ressources de l'interface et celles de Google Cloud.

Terminer l'atelier

Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.

Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.

Le nombre d'étoiles correspond à votre degré de satisfaction :

  • 1 étoile = très insatisfait(e)
  • 2 étoiles = insatisfait(e)
  • 3 étoiles = ni insatisfait(e), ni satisfait(e)
  • 4 étoiles = satisfait(e)
  • 5 étoiles = très satisfait(e)

Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.

Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.

Copyright 2026 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms de société et de produit peuvent être des marques des sociétés auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Le meilleur moyen d'exécuter cet atelier consiste à utiliser une fenêtre de navigation privée. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.