Como criar perfis de aplicativos Python
Esta página descreve como modificar seu aplicativo Python para capturar dados de criação de perfil e enviá-los para seu projeto do Google Cloud. Para informações gerais sobre criação de perfil, consulte Conceitos de criação de perfil.
Tipos de perfil para Python:
- Tempo de CPU
- Tempo decorrido (linha de execução principal)
Versões compatíveis com a linguagem Python:
- Python 3.6 a 3.11.0.
Versões compatíveis com o agente de criação de perfil:
- A versão mais recente do agente é compatível. Em geral, lançamentos com mais de um ano não são compatíveis. Recomendamos que você use a versão do agente lançada mais recentemente.
Sistemas operacionais compatíveis:
- Linux. A criação de perfil de aplicativos Python é compatível com kernels
do Linux em que a biblioteca C padrão foi implementada com
glibcoumusl. Saiba mais sobre informações de configuração específicas aos kernels do Alpine Linux em Como executar no Alpine Linux.
Ambientes compatíveis:
- Compute Engine
- Google Kubernetes Engine (GKE)
- Ambiente flexível do App Engine
- Ambiente padrão do App Engine (requer o ambiente de execução do Python 3)
- Fora do Google Cloud . Para informações sobre os outros requisitos de configuração, consulte Como criar perfis de aplicativos em execução fora do Google Cloud.
Como ativar a API Profiler
Antes de usar o agente de criação de perfil, garanta que a API Profiler subjacente esteja ativada. É possível verificar o status da API e ativá-la, se necessário, usando a Google Cloud CLI ou o console Google Cloud :
CLI da gcloud
Se você ainda não instalou a CLI do Google Cloud na sua estação de trabalho, consulte a documentação da CLI do Google Cloud.
Execute este comando:
gcloud services enable cloudprofiler.googleapis.com
Para ver mais informações, consulte gcloud services.
Console do Google Cloud
-
Ative a API Cloud Profiler.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis. Se a mensagem API ativada for exibida, quer dizer que a API já está ativada. Caso contrário, clique no botão Ativar.
Conceder papel do IAM à conta de serviço
Se você estiver implantando o aplicativo em recursos do Google Cloud e usando a conta de serviço padrão sem modificar as concessões de função para ela, pule esta seção.
Se você fizer alguma das ações a seguir, conceda à conta de serviço o papel do IAM de Agente do Cloud Profiler (roles/cloudprofiler.agent):
- Você está usando a conta de serviço padrão, mas modificou as concessões de papéis dela.
- Você está usando uma conta de serviço criada pelo usuário.
- Se você estiver usando a Identidade da carga de trabalho, conceda o papel de agente do Cloud Profiler à conta de serviço do Kubernetes.
É possível conceder um papel do IAM a uma conta de serviço usando o
consoleGoogle Cloud ou a Google Cloud CLI. Por exemplo, é possível usar o comando
gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding GCP_PROJECT_ID \
--member serviceAccount:MY_SVC_ACCT_ID@GCP_PROJECT_ID.iam.gserviceaccount.com \
--role roles/cloudprofiler.agent
Antes de usar o comando anterior, substitua o seguinte:
- GCP_PROJECT_ID: o ID do projeto.
- MY_SVC_ACCT_ID: o nome da conta de serviço
Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações.
Como usar o Cloud Profiler
Para práticas recomendadas usando Python, acesse Como configurar um ambiente de desenvolvimento Python.
Compute Engine
No Compute Engine:
Instale o compilador C/C ++ e as ferramentas de desenvolvimento:
sudo apt-get install -y build-essentialInstale o pip:
sudo apt-get install -y python3-pipInstale o pacote do Profiler:
pip3 install google-cloud-profilerImporte o módulo
googlecloudprofilere chame a funçãogooglecloudprofiler.starto quanto antes no código de inicialização:Especifique o parâmetro
servicena funçãostart. Para filtrar pela versão do aplicativo na interface do Profiler, especifique o parâmetroservice_version. Saiba mais sobre solução de problemas e exceções em Como solucionar problemas.
GKE
Para o GKE:
Modifique o Dockerfile para instalar o pacote do Profiler:
FROM python:3 ... RUN apt-get update && apt-get install -y build-essential python3-pip RUN pip3 install google-cloud-profilerImporte o módulo
googlecloudprofilere chame a funçãogooglecloudprofiler.starto quanto antes no código de inicialização:Especifique o parâmetro
servicena funçãostart. Para filtrar pela versão do aplicativo na interface do Profiler, especifique o parâmetroservice_version. Saiba mais sobre solução de problemas e exceções em Como solucionar problemas.
Ambiente flexível
No ambiente flexível do App Engine, faça o seguinte:
Adicione
google-cloud-profilerao seu arquivorequirements.txt.Importe o módulo
googlecloudprofilere chame a funçãogooglecloudprofiler.starto quanto antes no código de inicialização.
No App Engine, service e service_version são derivados do seu ambiente operacional.
Saiba mais sobre solução de problemas e exceções em Como solucionar problemas.
Ambiente padrão
No ambiente padrão do App Engine, que requer o ambiente de execução do Python 3, faça o seguinte:
Adicione
google-cloud-profilerao seu arquivorequirements.txt.Importe o módulo
googlecloudprofilere chame a funçãogooglecloudprofiler.starto quanto antes no código de inicialização.
No App Engine, service e service_version são derivados do seu ambiente operacional.
Saiba mais sobre solução de problemas e exceções em Como solucionar problemas.
Função start
A função googlecloudprofiler.start cria uma linha de execução do daemon que coleta e faz upload de perfis continuamente. Você deve chamar