Scarica i dati del profilo
Questo documento descrive come scaricare i dati del profilo sul sistema locale e come recuperarli tramite programmazione utilizzando un'applicazione Go.
Scaricare i profili utilizzando la console Google Cloud
Per scaricare il profilo visualizzato nel grafico a forma di fiamma, fai clic su Scarica get_app.
Profiler utilizza la seguente convenzione di denominazione per il file scaricato:
profiler_[SERVICE_NAME]_[PROFILE_TYPE]_[FROM_DATE]_[TO_DATE]_[ZONE]_[VERSION].pb.gz
In questa espressione:
SERVICE_NAME
contiene la selezione del servizioPROFILE_TYPE
contiene la selezione del Tipo di profiloFROM_DATE
eTO_DATE
contengono le specifiche dell'intervallo di tempoZONE
contiene la selezione della zonaVERSION
contiene la selezione della versione
Esempio: profiler_docdemo-service_HEAP_2018-04-22T20_25_31Z_2018-05-22T20_25_31Z_us-east1-c.pb.gz
Scaricare i profili in modo programmatico
Per recuperare i dati del profilo, utilizza il metodo dell'API ListProfiles
. Il seguente
programma Go di esempio mostra l'utilizzo di questa API.
Il programma di esempio crea una cartella nella directory da cui viene eseguito e genera un insieme di file pprof
numerati. Ogni file ha una convenzione di denominazione simile a profile000042.pb.gz
. Ogni directory contiene i dati del profilo e un file di metadati (metadata.csv
), che contiene informazioni sui file scaricati.
Il programma di esempio accetta i seguenti argomenti della riga di comando:
project
: il progetto da cui vengono recuperati i profili. Obbligatorio.page_size
: il numero massimo di profili recuperati per chiamata API. Il valore massimo dipage_size
è 1000. Se non specificato, questo campo viene impostato su 100.page_token
: un token di stringa generato da un'esecuzione precedente del programma per riprendere i download. Facoltativo.max_profiles
: il numero massimo di profili da recuperare. Se viene fornito un numero intero non positivo, il programma tenta di recuperare tutti i profili.
Facoltativo.
Esegui l'applicazione di esempio
Per eseguire l'applicazione di esempio:
Clona il repository:
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Passa alla directory che contiene il programma di esempio:
cd golang-samples/profiler/export
Esegui il programma dopo aver sostituito YOUR_GCP_PROJECT con l'ID del tuo progetto Google Cloud:
go run main.go -project YOUR_GCP_PROJECT -page_size 1000 -max_profiles 10000
Il completamento del programma potrebbe richiedere molto tempo. Il programma genera un token per la pagina successiva dopo aver recuperato la pagina corrente. Puoi utilizzare il token per riprendere la procedura se il programma viene interrotto.
Visualizzare i profili scaricati
Per leggere un file scaricato, scritto nel formato
protocol buffer serializzato, utilizza lo strumento open source
pprof
.