Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Como criar perfis de aplicativos em execução fora do Google Cloud

Esta página explica como criar perfis de aplicativos em execução fora do Google Cloud.

Nesse cenário, o aplicativo e o agente do Cloud Profiler são executados fora do Google Cloud, mas você usa a interface do Cloud Profiler para analisar os dados de criação de perfil.

Usar a interface do Profiler para analisar dados de criação de perfil requer um projeto do Google Cloud. O agente de criação de perfil executado em um local externo precisa ser capaz de enviar os perfis de volta para análise. Para ativar esse processo, é preciso:

  1. criar um projeto do Google Cloud e ative a API;
  2. conseguir credenciais para o agente usar quando fizer o upload de perfis;
  3. configurar o agente para usar as credenciais e o ID do projeto do Google Cloud.

Criar um projeto do Google Cloud

No console do Google Cloud, na página do seletor de projetos, clique em Criar projeto para começar a criar um novo projeto do Google Cloud.

Acessar o seletor de projetos

Ativar a API do Profiler

Na página do console do Google Cloud do novo projeto, acesse APIs e serviços:

  1. Acesse o painel de APIs e serviços:

    Acessar APIs e serviços

  2. Clique no botão Adicionar APIs e serviços.

    Adicionar APIs e serviços

  3. Pesquise por API Profiler.

  4. Nos resultados da pesquisa, selecione API Cloud Profiler.

  5. Se a mensagem API ativada for exibida, significa que a API já está ativada. Caso contrário, clique no botão Ativar.

Conseguir credenciais para o agente

Há duas maneiras de conseguir credenciais para o agente usar:

  • Deixar o agente usar uma conta de serviço com autenticação de chave privada.
  • Deixar o agente usar o Application Default Credentials (ADC).

Como usar contas de serviço

Para que o agente use uma conta de serviço com autenticação de chave privada, é preciso:

  1. Crie uma conta de serviço. Por exemplo, usando a Google Cloud CLI:

    gcloud iam service-accounts create MY_SVC_ACCT_ID --display-name "my service account"
    

    Para mais informações, consulte Como criar uma conta de serviço.

  2. conceder à conta de serviço o papel roles/cloudprofiler.agent para que ela possa gravar dados de criação de perfil. Por exemplo, usando a Google Cloud CLI:

     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
    

    Consulte Como conceder papéis às contas de serviço para mais informações.

  3. Crie uma chave JSON para a conta de serviço. Por exemplo, usando a Google Cloud CLI:

     gcloud iam service-accounts keys create \
         ~/key.json \
         --iam-account MY_SVC_ACCT_ID@GCP_PROJECT_ID.iam.gserviceaccount.com
    

    Consulte Como criar chaves de conta de serviço para mais informações.

  4. No computador em que o agente de criação de perfil será executado, faça o seguinte:

    1. Coloque uma cópia do arquivo que contém a chave JSON que você acabou de criar.
    2. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o nome totalmente qualificado do arquivo que contém a chave JSON. Essa variável precisa estar visível para o processo que executa o agente de criação de perfil. Portanto, se você usa um script ou Dockerfile para executar o processo, inclua a variável de ambiente neles.

Como usar o Application Default Credentials

Para que o agente use o Application Default Credentials, consiga as credenciais de acesso do usuário por meio de um fluxo da Web. Depois, coloque-as no local designado para a biblioteca do ADC. Essas credenciais atuam como um proxy de uma conta de serviço.

Para usar as credenciais padrão do aplicativo, execute o seguinte comando da Google Cloud CLI:

 gcloud auth application-default login

e siga as etapas mencionadas nele.

Como vincular o agente a um projeto do Google Cloud

O agente de criação de perfil precisa ser configurado para especificar o ID do projeto do Google Cloud. Assim, ele pode fazer o upload de perfis. O mecanismo desse processo depende da linguagem.

Go

Especifique um parâmetro adicional, ProjectID, no objeto profiler.Config descrito em Como criar perfis de aplicativos Go:

 profiler.Config{ProjectID: "GCP_PROJECT_ID", ...}

Java

Especifique uma sinalização complementar de configuração do agente Java, cprof_project_id, na invocação correspondente:

 -cprof_project_id=GCP_PROJECT_ID

Quando seu aplicativo não consegue acessar o servidor de metadados do Compute Engine, são exibidas mensagens semelhantes a esta:

     Error making HTTP request for 169.254.169.254:80/computeMetadata/v1/instance/zone
Para interromper essas mensagens, adicione -cprof_zone_name=VALUE às sinalizações de configuração do agente e reinicie o aplicativo. Para esse cenário, substitua VALUE por uma string descritiva, como “teste”.

Node.js

Especifique um parâmetro complementar, projectID, no objeto serviceContext descrito em Como criar perfis de aplicativos Node.js:

projectId: 'GCP_PROJECT_ID',
serviceContext: {
  ...
}

Python

Especifique um parâmetro complementar, project_id, na chamada de método start descrita em Como criar perfis de aplicativos Python:

googlecloudprofiler.start(..., project_id='GCP_PROJECT_ID')

A seguir

Saiba mais sobre o gráfico e os controles do Profiler em Como usar a interface do Cloud Profiler. Para ver informações mais avançadas, acesse: