Neste guia de início rápido, você aprende a usar o Stackdriver Debugger para verificar o estado de um app Python simples executado no ambiente padrão do App Engine. Ele contém demonstrações de como capturar a pilha de chamadas e as variáveis locais usando instantâneos de depuração e como injetar a geração de registros no app em execução usando logpoints de depuração.
Antes de começar
-
Faça login na sua Conta do Google.
Se você ainda não tiver uma, inscreva-se.
-
Selecione ou crie um projeto do Google Cloud Platform.
-
Verifique se o faturamento foi ativado no projeto do Google Cloud Platform.
- Verifique se os seguintes softwares estão instalados em seu sistema local:
Implantar no App Engine
Comece implantando um app Python 2.7 no ambiente padrão do App Engine.
Clone o projeto em um repositório local.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Acesse o diretório que contém a amostra do código.
cd python-docs-samples/appengine/standard/hello_world
Inicialize o Google Cloud SDK com o código do projeto.
gcloud config set project [your-project-id]
Implante o aplicativo.
gcloud app deploy --version=v1
Envie uma solicitação ao app para testá-lo.
gcloud app browse
A resposta deverá conter uma mensagem Hello World
. Se você tiver alguma dificuldade nessas etapas, consulte o Guia de início rápido do ambiente padrão do App Engine para Python.
Ver origens implantadas
Depois de implantar o app Python, você pode ver as origens implantadas na página "Depuração" do Console do Google Cloud Platform.
Navegue até a página Depuração no Console do Google Cloud Platform.
Verifique se o projeto correto está selecionado.
Verifique se
default - v1 (100%)
está selecionado no menu da parte superior. Isso indica qual serviço/versão do app você vai depurar.Verifique se
Deployed Files
está selecionado no menu à esquerda. Esse painel exibe o código-fonte do app Python que você acabou de implantar.Selecione
main.py
na lista de arquivos implantados para ver o respectivo conteúdo.
Agora você está pronto para capturar instantâneos de depuração e injetar logpoints de depuração.
Capturar um instantâneo de depuração
Um instantâneo de depuração captura as variáveis locais e a pilha de chamadas em um local de linha específico no código-fonte. Selecione a guia "Instantâneo" no painel à direita para capturar instantâneos de depuração.
Clique no número referente à primeira linha dentro da função
get
na classeMainPage
. Uma seta azul aparecerá, indicando que o local do instantâneo está definido. O painel de resultados à direita exibe "Aguardando o instantâneo ser acionado".Selecione o painel "Histórico de instantâneos" na parte inferior da página para ver se o instantâneo foi definido com sucesso.
Envie uma solicitação ao app para acionar o instantâneo.
gcloud app browse
O painel de resultados exibe a pilha de chamadas e os valores das variáveis locais no escopo para esse ponto do código e esse momento.
Adicione a expressão a seguir e defina outro instantâneo.
self.request.environ['HTTP_USER_AGENT']
Envie uma nova solicitação para acionar os novos instantâneos.
gcloud app browse
O painel de resultados agora também mostra o resultado da expressão. Neste caso, o valor é:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
Injetar um logpoint de depuração
Um logpoint de depuração permite que você injete a geração de relatórios no app em execução sem reiniciá-lo. Selecione a guia "Logpoint" no painel à direita para injetar logpoints de depuração.
Clique no número referente à primeira linha dentro da função
get
na classeMainPage
.Uma caixa de texto em linha é exibida. Para injetar um logpoint, preencha-a da seguinte maneira e pressione Enter:
if (True) logpoint("Browser = {self.request.environ['HTTP_USER_AGENT']}")
Selecione o painel "Histórico de logpoints" na parte inferior da página para ver se o logpoint foi injetado com sucesso.
Envie uma solicitação ao app para acionar o logpoint.
gcloud app browse
Selecione o painel "Registros" na parte inferior da página para ver os registros impressos pelo logpoint.
Fazer limpeza
Para evitar cobranças na sua conta do GCP pelo uso de recursos neste guia de início rápido, faça o seguinte:
Navegue até a página Projetos do Console do GCP.
Clique no ícone de lixeira (
) ao lado do projeto.
Digite o nome do seu projeto para confirmar o encerramento.