Configurar o Stackdriver Debugger para apps Python no Google Compute Engine

Você pode usar o Stackdriver Debugger com qualquer app Python 2.7 em execução em uma instância do Google Compute Engine. Recomendamos que ele seja ativado para todas as instâncias em execução do seu app.

Esta página apresenta as etapas de configuração necessárias para a maioria dos desenvolvedores. Mais detalhes e opções de configuração, como criar versões a partir do código fonte e usar uma conta de serviço, podem ser encontradas em http://github.com/GoogleCloudPlatform/cloud-debug-python/.

Requisitos

O Google Stackdriver Debugger funciona com instâncias do Compute Engine executando:

  • uma imagem Debian Linux de 64-bit;
  • Python 2.7.

Para ver instruções sobre como criar uma instância do Compute Engine, acesse Como criar e iniciar uma instância na documentação do Google Compute Engine.

Fazer o download do agente

O agente do Stackdriver Debugger é um binário leve que é iniciado com seu app e se comunica com o back-end do Stackdriver Debugger enquanto o app está em execução.

A maneira mais fácil de instalar o Stackdriver Debugger para Python é com o PyPI:

pip install google-python-cloud-debugger

Se preferir, é possível fazer o download do pacote .egg a partir do GitHub e instalar o agente de depuração com:

easy_install google_python_cloud_debugger-py2.7-linux-x86_64.egg

Também é possível criar o agente a partir do código-fonte (as dependências do SO estão listadas no script build.sh):

git clone https://github.com/GoogleCloudPlatform/cloud-debug-python.git
cd cloud-debug-python/src/
./build.sh
easy_install dist/google_python_cloud_debugger-*.egg

Configurar o agente

Há três maneiras de ativar o agente em seu app:

  • Se preferir alterar o código em vez de alterar a maneira com que seu programa é invocado, adicione as seguintes linhas no início de sua função main():

    try:
      import googleclouddebugger
      googleclouddebugger.AttachDebugger(
    version='[VERSION]',
    module='[MODULE]'
      )
    except ImportError:
      pass
    

Ou

  • Se você não tem permissão para alterar o código, execute o agente de depuração como um módulo:

    python -m googleclouddebugger \
      --version=[VERSION] \
      --module=[MODULE] \
      -- myapp.py
    

Onde, em ambos os casos:

  • [VERSION] é a versão do app (como o código da versão). O Cloud Platform Console mostra a versão em execução como [MODULE] - [VERSION]. Exemplos de valores: v1.0, build_147 ou v20160520.

  • [MODULE] é o nome de seu app ou serviço. Juntamente com a versão, ele é usado para identificar seu app no Google Cloud Platform Console. Exemplos: MyApp, Backend ou Frontend.

Gerar o arquivo de contexto da fonte

O arquivo de contexto da fonte contém informações sobre a versão do código fonte usado para criar seu app. A página de depuração no Google Cloud Platform Console usa esta informação para mostrar a versão correta da fonte.

Para gerar o arquivo de contexto da fonte, execute a seguinte linha no diretório raiz de seu repositório Git local.

gcloud debug source gen-repo-info-file --output-directory=[MODULE_PACKAGE_DIR]

Onde [MODULE_PACKAGE_DIR] é o nível superior de seu pacote do módulo Python. Por exemplo:

--output-directory="./my-python-app/"

Em seguida, implante ou reimplante seu app em sua instância do Compute Engine.

Usar o Stackdriver Debugger

Depois de configurar o Stackdriver Debugger para o uso em seu ambiente e depois de iniciar seu app, é possível abrir a página de depuração no Google Cloud Platform Console. Acesse Como usar o Stackdriver Debugger para mais informações.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Stackdriver Debugger