Instrucciones y requisitos de configuración del lab
Protege tu cuenta y tu progreso. Usa siempre una ventana de navegador privada y las credenciales del lab para ejecutarlo.

Desarrollo de aplicaciones: Cómo aprovechar Cloud Trace y Cloud Monitoring: Node.js

Lab 2 horas universal_currency_alt 5 créditos show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.

Descripción general

En este lab, usarás Cloud Trace y Cloud Monitoring con el objetivo de diagnosticar y solucionar un problema de rendimiento en la aplicación en ejecución y Cloud Monitoring para ver las métricas de rendimiento de la aplicación.

Objetivos

En este lab, aprenderás a realizar las siguientes tareas:

  • Habilitar, instalar y configurar Cloud Trace
  • Visualizar la información de Trace para diagnosticar un problema de rendimiento
  • Solucionar el problema de rendimiento y comprobar la mejora del rendimiento
  • Supervisar los productos de Google Cloud con Cloud Monitoring

Configuración y requisitos

Configuración del lab

En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  1. Accede a Qwiklabs desde una ventana de incógnito.

  2. Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
    No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.

  3. Cuando esté listo, haga clic en Comenzar lab.

  4. Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haga clic en Abrir Google Console.

  6. Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
    Si usa otras credenciales, se generarán errores o incurrirá en cargos.

  7. Acepta las condiciones y omite la página de recursos de recuperación.

Activa Google Cloud Shell

Google Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud.

Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.

    Ícono de Cloud Shell destacado

  2. Haz clic en Continuar.

El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:

ID del proyecto destacado en la terminal de Cloud Shell

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.

  • Puedes solicitar el nombre de la cuenta activa con este comando:
gcloud auth list

Resultado:

Credentialed accounts: - @.com (active)

Resultado de ejemplo:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Puedes solicitar el ID del proyecto con este comando:
gcloud config list project

Resultado:

[core] project =

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: La documentación completa de gcloud está disponible en la guía de descripción general de gcloud CLI .

Tarea 1. Prepara la aplicación del caso de éxito

En esta sección, accederás a Cloud Shell, clonarás el repositorio de Git que contiene la aplicación Quiz, configurarás las variables de entorno y ejecutarás la aplicación.

Clona el código fuente en Cloud Shell

  1. Para clonar el repositorio para la clase, ejecuta el siguiente comando:
git clone --depth=1 https://github.com/GoogleCloudPlatform/training-data-analyst
  1. Crea un vínculo simbólico como un acceso directo al directorio de trabajo:
ln -s ~/training-data-analyst/courses/developingapps/v1.3/nodejs/stackdriver-trace-monitoring ~/stackdriver-trace-monitoring

Configura y ejecuta la aplicación del caso de éxito

  1. Navega al directorio que contenga los archivos de muestra de este lab:
cd ~/stackdriver-trace-monitoring/start
  1. Para configurar la aplicación de Quiz, ejecuta el siguiente comando:
. prepare_environment.sh

Cuando se te solicite, escribe Y para permitir todas las invocaciones sin autenticar.

Nota: Este archivo de secuencia de comandos realiza las siguientes acciones:
  • Crea una aplicación de App Engine.
  • Exporta las variables de entorno GCLOUD_PROJECT y GCLOUD_BUCKET.
  • Ejecuta npm install.
  • Crea entidades en Cloud Datastore.
  • Crea una instancia, una base de datos y una tabla de Cloud Spanner.
  • Crea dos temas de Google Cloud Pub/Sub.
  • Crea dos Cloud Functions.
  • Imprime el ID del proyecto de Google Cloud.
  1. Con el objetivo de completar la preparación del entorno de Cloud Shell para ejecutar la aplicación, ejecuta los siguientes comandos:
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 Nota: Estos comandos realizan las siguientes acciones:
  • Crean una cuenta de servicio.
  • Crean y descargan el archivo de claves para la cuenta de servicio.
  • Exportan una variable de entorno GOOGLE_APPLICATION_CREDENTIALS que hace referencia al archivo de claves.
  • Crean los permisos de IAM necesarios para que la cuenta de servicio pueda acceder a todas las APIs necesarias.

En producción en Compute Engine o Container Engine, se concedería acceso a las APIs con una cuenta de servicio personalizada o a través de permisos. Por lo general, se permite a Google Cloud administrar la rotación de claves.

Tarea 2. Aprovecha Cloud Trace

En esta sección, habilitarás la API de Trace, escribirás el código para crear y también iniciar Cloud Trace en la aplicación Quiz y verás los tiempos de la aplicación a través de múltiples productos en la consola de Cloud.

Habilita la API de Cloud Trace

  1. En la consola de Cloud, en el Menú de navegación, haz clic en APIs y servicios.
  2. Haz clic en Biblioteca.
  3. En Buscar APIs y servicios, escribe Google Trace.
  4. Haz clic en API de Cloud Trace.
  5. Si la API no está habilitada, haz clic en Habilitar.

Escribe código para configurar Cloud Trace

  1. Regresa a Cloud Shell.
  2. Si deseas instalar el agente Node.js para Cloud Trace, ejecuta el siguiente comando:
npm install --save @google-cloud/trace-agent
  1. En Cloud Shell, haz clic en Abrir editor para abrir en una nueva ventana.
  2. Ve a stackdriver-trace-monitoring/start.
  3. Abre …frontend/app.js.
Nota: Actualiza el código dentro de las secciones marcadas de la siguiente manera:

// TODO

// END TODO

Para maximizar tu aprendizaje, revisa el código, los comentarios intercalados y la documentación de la API relacionada.
  1. En la parte superior de archivo app.js, carga el módulo '@google-cloud/trace-agent' y, a continuación, inícialo con start():

frontend/app.js

// TODO: Carga trace-agent y, luego, inícialo // Trace debe iniciarse antes que cualquier otro código de la // aplicación. require('@google-cloud/trace-agent').start({ projectId: config.get('GCLOUD_PROJECT') }); // END TODO
  1. Guarda el archivo.

Ejecuta la aplicación web y visualiza los datos de seguimiento

  1. Para iniciar la aplicación, ejecuta el siguiente comando:
npm start
  1. En Cloud Shell, haz clic en Vista previa en la Web > Vista previa en el puerto 8080 para obtener una vista previa de la aplicación Quiz.
  2. Regresa a la consola de Google Cloud.
  3. En Menú de navegación, haz clic en Trace.
Nota: Se abre la página de resumen de Trace. Sin embargo, la primera solicitud puede tardar unos minutos en propagarse. Una vez realizado, los datos de seguimiento son visibles con solo unos segundos de latencia.
  1. Mientras esperas a que se propague el primer Trace, vuelve a la ventana de Cloud Shell y busca mensajes de error.
Nota: Debido a un problema de sincronización después de habilitar las APIs, es posible que aparezcan errores sobre el agente Cloud Trace o el agente de depuración.

Si observas errores, detén la aplicación Quiz, reiníciala después de un minuto y actualiza su página principal.
  1. Vuelve a Trace en la consola de Google Cloud.
  2. Después de propagarse el primer Trace, haz clic en la Lista de seguimiento.
Nota: Deberías poder ver la latencia, el método HTTP y la URL de la solicitud.
  1. Regresa a la aplicación Quiz y haz clic en Crear pregunta.
  2. Completa el formulario con los siguientes valores:

Campo del formulario

Valor

Autor

Tu nombre

Quiz

Google Cloud

Título

¿Qué producto de Google Cloud te permite ver el tiempo de la solicitud?

Respuesta 1

Debugger

Respuesta 2

Error Reporting

Respuesta 3

Logging

Respuesta 4

Trace (selecciona el botón de la respuesta 4)

  1. Haz clic en Guardar.
  2. Vuelve a la ventana Cloud Trace en la consola de Google Cloud y habilita Volver a cargar automáticamente.
Nota: Observa la Lista de seguimientos.

Al final, se muestran dos solicitudes nuevas:

  1. GET /questions/add
  2. POST /questions/add
  1. Haz clic en la solicitud POST en la URL /questions/add.
Nota: Deberías ver el tiempo total para controlar la solicitud y la llamada realizada a Cloud Datastore.
  1. Regresa a la aplicación Quiz y haz clic en Realizar evaluación.
  2. Haz clic en Personas.
  3. Completa la prueba y envía tus comentarios.
  4. Vuelve a la ventana de Cloud Trace en la consola de Cloud.
Nota: Observa otra vez la Lista de seguimientos. Por último, se muestra un conjunto de nuevas solicitudes.

Busca las siguientes solicitudes y haz clic en ellas:

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

Representan las llamadas realizadas desde la aplicación del cliente a la aplicación Quiz.

Una vez más, deberías ver el tiempo total necesario para completar la solicitud.

Observa que las llamadas son secuenciales. Esto se debe a que la solicitud Cloud Pub/Sub necesita las respuestas correctas de las entidades de pregunta en Cloud Datastore con el objetivo de enviar los datos de respuesta a Cloud Pub/Sub para su almacenamiento en Cloud Spanner.
  1. En la aplicación Quiz, haz clic en Quite Interesting Quiz en la barra de herramientas y, a continuación, haz clic en Tabla de clasificación.
  2. Vuelve a la ventana de Cloud Trace en la consola de Cloud y revisa los datos de seguimiento de la nueva solicitud.
Nota: Deberías ver que esta solicitud incluye llamadas a Cloud Spanner.

Tarea 3: Diagnostica un problema de rendimiento con Cloud Trace

En esta sección, seguirás explorando la aplicación de Quiz con Cloud Trace y podrás identificar y resolver un problema de rendimiento.

Identifica un problema de rendimiento con Cloud Trace

  1. Regresa a la aplicación Quiz y haz clic en Realizar evaluación.
  2. Haz clic en Lugares.
  3. Completa la prueba y envía tus comentarios.
  4. Vuelve a la ventana de Cloud Trace en la consola de Cloud.
Nota: Observa otra vez la Lista de seguimientos. Por último, se mostrará un conjunto de nuevas solicitudes.

Busca las siguientes solicitudes y haz clic en ellas:

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

Representan las llamadas realizadas desde la aplicación del cliente a la aplicación Quiz.

Una vez más, deberías ver el tiempo total necesario para completar la solicitud.

Observa que las llamadas son secuenciales. Esto se debe a que la solicitud de Cloud Pub/Sub necesita datos de Cloud Datastore para enviar los datos de respuesta a Cloud Pub/Sub.
Nota: Sin embargo, también deberías ver que cada llamada a Cloud Pub/Sub es también secuencial; esto no es correcto.
  1. Vuelve a la aplicación Quiz y haz clic en GCP.
  2. Completa la prueba y envía tus comentarios.
  3. Vuelve a la ventana de Cloud Trace en la consola de Cloud.
Nota: Observa otra vez la Lista de seguimientos. Por último, se mostrará un conjunto de nuevas solicitudes.

Busca las siguientes solicitudes y haz clic en ellas:

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

Representan las llamadas realizadas desde la aplicación del cliente a la aplicación Quiz.

Una vez más, deberías ver el tiempo total necesario para completar la solicitud.

Observa que las llamadas son secuenciales. Esto se debe a que la solicitud de Cloud Pub/Sub necesitaba datos de Cloud Datastore para enviar los datos de respuesta a Cloud Pub/Sub.
Nota: Sin embargo, también deberías ver que, una vez más, cada llamada a Cloud Pub/Sub también es secuencial.

Con cuatro preguntas en el cuestionario, se tarda cuatro veces más en enviar los mensajes Cloud Pub/Sub.

Esto no está nada bien.

Modifica el código de la aplicación para resolver el problema de rendimiento

  1. Vuelve a Cloud Shell y, luego, inicia el Editor de código si aún no está abierto.
  2. Ve a stackdriver-trace-monitoring/start/.
  3. Abre …frontend/api/index.js.
  4. Encuentra la sentencia que publica los mensajes de respuesta en secuencia y modifícala para realizar las operaciones en paralelo.
Nota: Por suerte, es un cambio muy fácil de hacer. El cambio de código se muestra a continuación.

El código de api/index.js antes del cambio es el siguiente:

// 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

El código de api/index.js después del cambio es el siguiente:

// 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

Confirma la resolución del problema con Cloud Trace

  1. Vuelve a Cloud Shell, para detener la aplicación presiona Ctrl+C y, a continuación, vuelve a empezar.
  2. Vuelve a la aplicación Quiz y realiza de nuevo las pruebas de Personas, Lugares y Google Cloud.
  3. Vuelve a la ventana de Cloud Trace en la consola de Cloud.
Nota: Observa otra vez la Lista de seguimientos. Por último, se mostrará un conjunto de nuevas solicitudes.

Busca las siguientes solicitudes y haz clic en ellas:

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

Representan las llamadas realizadas desde la aplicación del cliente a la aplicación Quiz.

Una vez más, deberías ver el tiempo total necesario para completar la solicitud.
Nota: Esta vez, deberías ver que todos los mensajes de Pub/Sub se enviaron en paralelo. El tiempo necesario para completar la tramitación de las solicitudes es bastante menor.

Tarea 4: Visualiza las métricas de las aplicaciones con Cloud Monitoring

En esta sección, continuarás explorando la aplicación Quiz con Cloud Monitoring a través de la exploración de métricas y la creación de paneles.

Crea un espacio de trabajo de Monitoring

Ahora, configurarás un espacio de trabajo de Monitoring que esté vinculado con tu proyecto de Google Cloud. Sigue estos pasos para crear una cuenta nueva que incluya una prueba gratuita de Monitoring.

  1. En la consola de Cloud, haz clic en el menú de navegación > Monitoring.

  2. Espera a que se aprovisione tu espacio de trabajo.

Cuando se abra el panel de Monitoring, tu espacio de trabajo estará listo.

El panel de Monitoring se abre en la página de descripción general

Crea un panel y explora las métricas

  1. En el panel de la izquierda, haz clic en Paneles.
  2. Haz clic en + Crear panel.
  3. En Nombre del panel nuevo, escribe Quiz Application Metrics (Métricas de la aplicación Quiz).
  4. Haz clic en Gráfico de líneas.
  5. En el campo Recurso y métrica, haz clic en el menú desplegable Instancia de VM - Uso de CPU.
  6. Habilita Mostrar solo recursos y métricas activos.
Nota: Ejemplos de recursos que están activos:

  • cloud_function
  • datastore_request
  • gae_app (esto se debe a Cloud Datastore)
  • gcs_bucket
  • global
  • pubsub_subscription
  • pubsub_topic
  • spanner_instance
  1. Haz clic en cada recurso y selecciona las métricas que te interesen.
Nota: Estos son algunos ejemplos de métricas para explorar:

  • 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. Crea varios gráficos, incluido tu propia selección de recursos y métricas.
Nota: Revisión

¿Qué producto de Google Cloud debe cargarse primero, antes que cualquier otro código?

  1. Cloud Trace
  2. Cloud Debugger
  3. Cloud Error Reporting
  4. Cloud Logging
¿Qué productos de Google Cloud están integrados en Google Cloud Trace?

  1. Cloud Datastore
  2. Cloud Spanner
  3. Cloud Pub/Sub
  4. Cloud Storage
Con Cloud Monitoring, ¿qué función permite organizar gráficos para ver el rendimiento de la aplicación?

  1. Alertas
  2. Verificaciones de tiempo de actividad
  3. Paneles
  4. Grupos

Tarea 5. Contenido adicional: Implementa la aplicación Quiz en Container o App Engine

Para ello, usa las notas de los labs correspondientes. Después de implementar la aplicación, podrás supervisar el frontend y los recursos de Google Cloud.

Finalice su lab

Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.

Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.

La cantidad de estrellas indica lo siguiente:

  • 1 estrella = Muy insatisfecho
  • 2 estrellas = Insatisfecho
  • 3 estrellas = Neutral
  • 4 estrellas = Satisfecho
  • 5 estrellas = Muy satisfecho

Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.

Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.

Copyright 2026 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.