Applicazione della documentazione
Questa pagina fornisce indicazioni sull'utilizzo di Cloud Shell per scaricare ed eseguire esempi dal repository GitHub golang-samples/profiler. Puoi anche eseguire questi esempi al di fuori di Google Cloud. Per i passaggi di configurazione aggiuntivi richiesti in questo caso, consulta Eseguire il profiling delle applicazioni in esecuzione all'esterno di Google Cloud.
Se scegli di eseguire questi programmi, puoi creare rapidamente dati di profilazione che puoi utilizzare per esplorare le funzionalità dell'interfaccia Cloud Profiler. Puoi anche modificare la tua copia di questi sample, quindi eseguire nuovamente il deployment e analizzare l'impatto delle modifiche utilizzando l'interfaccia di Cloud Profiler.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Profiler API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Profiler API.
Avvia Cloud Shell
Nella parte superiore della pagina della console Google Cloud del tuo progetto, fai clic su Attiva Cloud Shell:
All'interno di un nuovo frame nella parte inferiore della console si apre una sessione di Cloud Shell e vengono visualizzati due messaggi e un prompt della riga di comando. Il primo messaggio elenca il progetto Google Cloud per la sessione Cloud Shell. Il secondo messaggio ti spiega come modificare il progetto della sessione. L'inizializzazione della sessione della shell può richiedere alcuni secondi:
Ottenere un programma da profilare
Da Cloud Shell, recupera il pacchetto di esempi Go:
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Il recupero del pacchetto richiede alcuni istanti.
profiler_quickstart
Il sample profiler_quickstart
è configurato per eseguire il servizio hello-profiler
. La guida rapida di Profiler
utilizza questo esempio.
Per avviare hello-profiler
:
Passa alla directory
profiler_quickstart
:cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/profiler_quickstart
Avvia il servizio eseguendo il seguente comando:
go run main.go
Il messaggio profiler has started
viene visualizzato nella sessione Cloud Shell alcuni secondi dopo l'avvio del servizio. I nuovi messaggi vengono visualizzati
ogni volta che un profilo viene caricato nel tuo progetto Google Cloud.
Per interrompere il servizio, premi Ctrl+C.
hotapp
L'esempio hotapp
utilizza un ciclo infinito che chiama due funzioni e poi
lo scheduler Go. Il sample supporta l'impostazione del flag -local_work
. Quando questo
indicatore è true
, il lavoro, sotto forma di cicli for, viene aggiunto alle singole
funzioni. Per impostazione predefinita, questo flag è impostato su false
.
Per eseguire l'esempio hotapp
:
Passa alla directory
hotapp
:cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/hotapp
Avvia il servizio eseguendo il seguente comando:
go run main.go
Se vuoi generare dati di profilo coerenti con quelli mostrati nella documentazione di Cloud Profiler, utilizza la seguente chiamata:
go run main.go -service=docdemo-service -local_work -skew=75 -version=1.75.0
Il messaggio profiler has started
viene visualizzato nella sessione Cloud Shell alcuni secondi dopo l'avvio del servizio. I nuovi messaggi vengono visualizzati
ogni volta che un profilo viene caricato nel tuo progetto
Google Cloud.
Per interrompere il servizio, premi Ctrl+C.
La sezione sul confronto dei profili ha utilizzato due diversi deployment di docdemo-service
. In un deployment, skew
e version
sono stati impostati come descritto in precedenza. Nella seconda
implementazione, skew
è stato impostato su 25
e version
su 1.25.0
.
Risoluzione dei problemi
Se dopo aver avviato il servizio ricevi un messaggio di errore di autorizzazione negata, consulta Errori nella configurazione del progetto Google Cloud.