Neste laboratório, você usará o Cloud Debugger e o Error Reporting para diagnosticar e corrigir erros no aplicativo em execução.
Objetivos
Você aprenderá o seguinte:
Criar um repositório do Cloud Source Repositories e inserir o código do aplicativo nele
Instalar e configurar o Cloud Debugger
Usar snapshots e logpoints de depuração para coletar e exibir variáveis do aplicativo
Instalar e configurar o Cloud Error Reporting
Usar o Cloud Error Reporting para identificar erros no aplicativo
Configuração e requisitos
Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.
Faça login no Qwiklabs em uma janela anônima.
Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.
Quando tudo estiver pronto, clique em Começar o laboratório.
Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.
Clique em Abrir Console do Google.
Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.
Aceite os termos e pule a página de recursos de recuperação.
Ative o Google Cloud Shell
O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud.
O Google Cloud Shell oferece acesso de linha de comando aos seus recursos do GCP.
No Console do GCP, na barra de ferramentas superior direita, clique no botão Abrir o Cloud Shell.
Clique em Continue (continuar):
Aguarde alguns instantes para o provisionamento e a conexão com o ambiente. Quando você estiver conectado, já estará autenticado, e o projeto estará definido com seu PROJECT_ID. Por exemplo:
gcloud é a ferramenta de linha de comando do Google Cloud Platform. Ele vem pré-instalado no Cloud Shell e aceita preenchimento com tabulação.
É possível listar o nome da conta ativa com este comando:
É possível listar o ID de projeto com este comando:
gcloud config list project
Resposta:
[core]
project = <project_ID>
Exemplo de resposta:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Como preparar o aplicativo do estudo de caso
Nesta seção, você vai acessar o Cloud Shell, clonar o repositório git que contém o aplicativo Quiz, definir as variáveis de ambiente e executar o aplicativo.
Clone o código-fonte no Cloud Shell
Clone o repositório para este curso execute o comando abaixo:
Digite o comando git para commit as alterações com a mensagem "Quiz application initial check-in".
git commit -m "Quiz application initial check-in"
Digite o comando gitpush para adicionar as mudanças no repositório padrão.
git push
Volte à janela Repositório de origem e atualize a guia do navegador.
Como usar o Cloud Debugger
Nesta seção, você vai escrever o código para criar e iniciar o Cloud Debugger no aplicativo de teste, depois vai configurar snapshots e logpoints de depuração no Console do Cloud Platform.
Escreva o código para configurar o Cloud Debugger
No Cloud Shell, instale o agente do Node.js para o Cloud Debugger com este comando:
cd ~/default
npm install --save @google-cloud/debug-agent
Clique em Abrir editor.
Se um erro indicar que não foi possível carregar o editor de código porque os cookies de terceiros estavam desativados, selecione Abrir em uma nova janela e mude para a nova guia.
// TODO: Add the following statement to import and start
// Stackdriver debug-agent
// The start(...) method takes an 'options' object that you
// can use to configure the Cloud Debugger agent.
// You will need to pass through an object with an
// allowExpressions Boolean property set to true.
require('@google-cloud/debug-agent').start({ allowExpressions: true });
// END TODO
Salve o arquivo.
Atualize o Cloud Source Repository e crie um contexto de origem
Volte para a janela do Cloud Shell.
Se o Cloud Shell não estiver visível, clique em Abrir terminal.
Adicione, confirme e envie alterações para o repositório padrão do Cloud Source Repositories usando os seguintes comandos:
Para instalar as dependências do aplicativo Quiz e iniciá-lo, execute este comando:
npm install
npm start
Quando o app estiver detectando na porta 8080, clique em Visualização na Web > Visualizar na porta 8080 para ver o aplicativo de teste.
Volte para o Console do Cloud Platform.
No Menu de navegação, clique em Depurador.
Use o navegador do código-fonte para selecionar o arquivo web-app/questions.js.
Encontre o gerenciador POST onde as perguntas são adicionadas (router.post('/add..)) e clique no número da linha no lado esquerdo da instrução em branco, logo após let data = req.body. Clique em Criar snapshot.
Volte para o aplicativo Quiz e clique em Create Question.
Preencha o formulário usando os valores a seguir e clique em Save.
Campo do formulário
Valor
Author
Your Name
Quiz
Google Cloud Platform
Title
Qual das opções abaixo é um produto do Google Cloud?
Answer 1
Debug
Answer 2
Error Reporting
Answer 3
Logging
Answer 4
Todas as anteriores(selecione Answer 4 como a resposta correta)
Volte à janela do Cloud Debug no Console do Cloud Platform.
Expanda a variável data.
Depure o aplicativo da Web com um logpoint
Ainda em questions.js, clique na guia Logpoint do painel à direita na janela Depuração.
Clique na mesma linha de código-fonte que você usou para inserir o snapshot e selecione Criar logpoint.
No editor interativo do logpoint, escreva o seguinte log statement e clique em Adicionar.
if (true) logpoint("Quiz = {data.quiz}")
Esse log statement registra o valor do campo do formulário quiz.
Volte para o aplicativo de teste e clique em Create Question.
Preencha o formulário usando os valores a seguir e clique em Save.
Campo do formulário
Valor
Author
Your Name
Quiz
Google Cloud Platform
Title
Qual produto do Google Cloud inclui snapshots e logpoints?
Answer 1
Debugger(selecione Answer 1 como a resposta correta)
Answer 2
Error Reporting
Answer 3
Logging
Answer 4
Todas as anteriores
Volte para a janela do Cloud Shell.
Como usar o Cloud Error Reporting
Nesta seção, você escreverá o código para integrar o Cloud Error Reporting ao aplicativo Quiz. Além disso, você verá os erros no app da Web e no Cloud Functions.
Escreva o código para configurar o Cloud Error Reporting
No Cloud Shell, pressione Ctrl+C para interromper o aplicativo da Web.
Para instalar a biblioteca do Node.js para o Cloud Error Reporting, execute o seguinte comando:
cd ~/default
npm install --save @google-cloud/error-reporting
No editor de código do Cloud Shell, navegue até default/app.js.
No arquivo app.js, carregue o módulo '@google-cloud/error-reporting.
Crie o cliente do Cloud Error Reporting.
default/app.js
// TODO: Load the error-reporting module
const {ErrorReporting} = require(
'@google-cloud/error-reporting');
// END TODO
const path = require('path');
const express = require('express');
const config = require('./config');
const app = express();
// TODO: Create the errorReporting client object
const errorReporting = new ErrorReporting();
// END TODO
// TODO: Use Stackdriver Error Reporting
// middleware for Express
app.use(errorReporting.express);
// END TODO
Salve o arquivo.
Atualize o repositório do Cloud Source Repositories e crie um novo contexto de origem
Retorne à janela do Cloud Shell e execute os seguintes comandos para adicionar, confirmar e enviar as alterações para o Cloud Source Repository padrão:
Veja os erros do aplicativo da Web usando o Error Reporting
Por padrão, o Cloud Error Reporting fica ativo somente quando o aplicativo está em produção. Exporte uma variável de ambiente NODE_ENV definida com o valor production.
export NODE_ENV=production
Para iniciar o aplicativo, execute este comando:
npm start
Visualize o aplicativo da Web.
Volte para o Console do Cloud Platform.
Em Navigation menu, clique em Error Reporting.
Volte para o aplicativo de teste e clique em Take Test.
Clique em Places.
Termine o teste, adicione uma nota, escreva um feedback e clique em Send Feedback.
Volte para o Console do Cloud Platform.
Em Navigation menu, clique em Error Reporting.
Clique em Auto Reload.
Veja os erros de função do Cloud Functions usando o Error Reporting
Volte ao Cloud Shell e interrompa o aplicativo da Web pressionando Ctrl+C.
Para criar o tópico ausente do Pub/Sub, execute este comando:
gcloud pubsub topics create feedback
Para criar a função do Cloud Functions relacionada ao tópico de feedback e que insere um registro no Cloud Spanner, execute estes comandos:
cd ~/stackdriver-debug-errorreporting/start/
gcloud functions deploy process-feedback --runtime nodejs14 \
--trigger-topic feedback --source ./function \
--stage-bucket $GCLOUD_BUCKET --entry-point subscribe
cd ~/default
Para iniciar o aplicativo da Web, execute este comando:
npm start
Visualize o aplicativo da Web.
Volte para o aplicativo de teste e clique em Take Test.
Clique em Places.
Termine o teste, adicione uma nota, escreva um feedback e clique em Send Feedback.
Volte para o Console do Cloud Platform.
Em Navigation menu, clique em Error Reporting.
Clique no link Error: ERROR processing feedback:.
Na seção Amostras recentes da janela, clique no link Ver registros para visualizar o erro do Cloud Functions.
Para criar o banco de dados e a tabela Feedback, volte ao Cloud Shell, interrompa o aplicativo da Web e execute este comando:
Bônus: como encontrar um erro de lógica no aplicativo Quiz
Nesta seção, você encontrará um erro no aplicativo Quiz e usará o Cloud Debugger para identificar a causa.
Reproduza o erro do aplicativo Quiz
Inicie o aplicativo da Web.
Navegue até a página inicial do aplicativo de teste e clique em Take Test.
Clique em Places.
Responda à pergunta corretamente.
Clique em GCP e selecione Places novamente.
Responda à pergunta incorretamente.
Qual pontuação aparece?
Finalize o laboratório
Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.
Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.
O número de estrelas indica o seguinte:
1 estrela = muito insatisfeito
2 estrelas = insatisfeito
3 estrelas = neutro
4 estrelas = satisfeito
5 estrelas = muito satisfeito
Feche a caixa de diálogo se não quiser enviar feedback.
Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.
Copyright 2020 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.
Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
No canto superior esquerdo da tela, clique em Começar o laboratório
Usar a navegação anônima
Copie o nome de usuário e a senha fornecidos para o laboratório
Clique em Abrir console no modo anônimo
Fazer login no console
Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
Aceite os termos e pule a página de recursos de recuperação
Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto
Este conteúdo não está disponível no momento
Você vai receber uma notificação por e-mail quando ele estiver disponível
Ótimo!
Vamos entrar em contato por e-mail se ele ficar disponível
Um laboratório por vez
Confirme para encerrar todos os laboratórios atuais e iniciar este
Use a navegação anônima para executar o laboratório
Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
Neste laboratório, você usará o Cloud Debugger e o Error Reporting para diagnosticar e corrigir erros no aplicativo em execução.
Duração:
Configuração: 0 minutos
·
Tempo de acesso: 120 minutos
·
Tempo para conclusão: 120 minutos