Fazer o download dos dados do perfil
Este documento descreve como fazer o download dos dados do perfil para o sistema local e como recuperar dados do perfil de forma programática usando um aplicativo Go.
Fazer o download de perfis usando o console do Google Cloud
Para fazer o download do perfil exibido no gráfico de chama, clique em Fazer download get_app.
O Profiler usa a seguinte convenção de nomenclatura para o arquivo transferido:
profiler_[SERVICE_NAME]_[PROFILE_TYPE]_[FROM_DATE]_[TO_DATE]_[ZONE]_[VERSION].pb.gz
Nesta expressão:
SERVICE_NAME
contém o Serviço selecionado;PROFILE_TYPE
contém o Tipo de perfil selecionado;FROM_DATE
eTO_DATE
contém suas especificações de intervalo;ZONE
contém a Zona selecionada;VERSION
contém a Versão selecionada.
Exemplo: profiler_docdemo-service_HEAP_2018-04-22T20_25_31Z_2018-05-22T20_25_31Z_us-east1-c.pb.gz
Fazer o download de perfis de forma programática
Para extrair dados do perfil, use o método da API ListProfiles
. O exemplo
de programa Go abaixo demonstra o uso dessa API.
O programa de exemplo cria uma pasta no diretório em que é executado e
gera um conjunto de arquivos pprof
numerados. Cada arquivo tem uma convenção
de nomenclatura semelhante a profile000042.pb.gz
. Cada diretório contém dados de perfil
e um arquivo de metadados, metadata.csv
, que contém informações sobre os
arquivos transferidos por download.
O programa de exemplo aceita os seguintes argumentos de linha de comando:
project
: o projeto de onde os perfis são extraídos. Obrigatório.page_size
: o número máximo de perfis recuperados por chamada de API. O valor máximo depage_size
é 1.000. Quando não especificado, esse campo é definido como 100.page_token
: um token de string gerado por uma execução anterior do programa para retomar os downloads. Opcional.max_profiles
: o número máximo de perfis a serem recuperados. Se um número inteiro não positivo for fornecido, o programa tentará recuperar todos os perfis.
Opcional.
Executar o aplicativo de amostra
Para executar o aplicativo de exemplo, faça o seguinte:
Clone o repositório:
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Acesse o diretório que contém o programa de exemplo:
cd golang-samples/profiler/export
Execute o programa depois de substituir YOUR_GCP_PROJECT pelo ID do seu projeto do Google Cloud:
go run main.go -project YOUR_GCP_PROJECT -page_size 1000 -max_profiles 10000
O programa pode levar um tempo considerável para ser concluído. O programa gera um token para a próxima página depois de extrair a página atual. É possível usar o token para retomar o processo se o programa for interrompido.
Conferir os perfis salvos
Para ler um arquivo transferido, gravado no formato de
buffer de protocolo serializado, use a ferramenta
pprof
de código aberto.