Transfira os dados do perfil
Este documento descreve como pode transferir os dados do seu perfil para o sistema local e como pode obter dados do perfil através de programação com uma aplicação Go.
Transfira perfis através da Google Cloud consola
Para transferir o perfil apresentado no gráfico de chamas, clique em Transferir get_app.
O Profiler usa a seguinte convenção de nomenclatura para o ficheiro transferido:
profiler_[SERVICE_NAME]_[PROFILE_TYPE]_[FROM_DATE]_[TO_DATE]_[ZONE]_[VERSION].pb.gz
Nesta expressão:
SERVICE_NAME
contém a sua seleção de ServiçoPROFILE_TYPE
contém a seleção do Tipo de perfilFROM_DATE
eTO_DATE
contêm as suas especificações de intervalo de tempoZONE
contém a sua seleção de ZonaVERSION
contém a sua seleção de versão
Exemplo: profiler_docdemo-service_HEAP_2018-04-22T20_25_31Z_2018-05-22T20_25_31Z_us-east1-c.pb.gz
Transfira perfis através de programação
Para obter dados do perfil, use o método da API ListProfiles
. O seguinte programa Go de exemplo demonstra a utilização desta API.
O programa de exemplo cria uma pasta no diretório a partir do qual é executado e
gera um conjunto de ficheiros pprof
numerados. Cada ficheiro tem uma convenção de nomenclatura semelhante a profile000042.pb.gz
. Cada diretório contém dados do perfil e um ficheiro de metadados, metadata.csv
, que contém informações sobre os ficheiros transferidos.
O programa de exemplo aceita os seguintes argumentos de linha de comandos:
project
: o projeto a partir do qual os perfis são obtidos. Obrigatório.page_size
: o número máximo de perfis obtidos por chamada API. O valor máximo depage_size
é 1000. Quando não especificado, este campo é definido como 100.page_token
: um token de string gerado por uma execução anterior do programa para retomar as transferências. Opcional.max_profiles
: o número máximo de perfis a obter. Se for fornecido um número inteiro não positivo, o programa tenta obter todos os perfis.
Opcional.
Execute a aplicação de exemplo
Para executar a aplicação de exemplo, faça o seguinte:
Clone o repositório:
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Altere para 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:Google Cloud
go run main.go -project YOUR_GCP_PROJECT -page_size 1000 -max_profiles 10000
A conclusão do programa pode demorar bastante tempo. O programa gera um token para a página seguinte após obter a página atual. Pode usar o token para retomar o processo se o programa for interrompido.
Veja os perfis transferidos
Para ler um ficheiro transferido, que está escrito no formato de protocol buffer serializado, use a ferramenta de pprof
código aberto.