Applicazione della documentazione
Questa pagina fornisce indicazioni sull'utilizzo di Cloud Shell per scaricare ed esegui esempi da GitHub golang-samples/profiler repository Git. Puoi anche eseguire questi esempi al di fuori in Google Cloud. Per i passaggi di configurazione aggiuntivi richiesti in questo caso, consulta Profilazione delle applicazioni in esecuzione al di fuori di Google Cloud.
Se scegli di eseguire questi programmi, puoi creare rapidamente dati di profilazione che che puoi utilizzare per esplorare le funzionalità dell'interfaccia di Cloud Profiler. Puoi anche modificare la tua copia di questi esempi, quindi rieseguire il deployment e analizzare l'impatto delle modifiche usando l'interfaccia di Cloud Profiler.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
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 relativa al tuo progetto, fai clic su Attiva Cloud Shell:
Una sessione di Cloud Shell si apre all'interno di un nuovo frame nella parte inferiore nella console Cloud e vengono visualizzati due messaggi e un prompt della riga di comando. Il primo elenca il progetto Google Cloud per Cloud Shell durante la sessione. Il secondo messaggio indica come modificare il progetto della sessione. L'inizializzazione della sessione della shell può richiedere alcuni secondi:
Profilare un programma
Da Cloud Shell, recupera il pacchetto degli esempi di Go:
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Il recupero del pacco richiede alcuni istanti.
profiler_quickstart
L'esempio profiler_quickstart
è configurato per eseguire hello-profiler
completamente gestito di Google Cloud. La guida rapida di Profiler
utilizza questo campione.
Per avviare hello-profiler
:
Passa alla directory
profiler_quickstart
:cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/profiler_quickstart
Avvia il servizio eseguendo questo comando:
go run main.go
Il messaggio profiler has started
viene visualizzato in Cloud Shell
qualche secondo dopo l'avvio del servizio. Vengono visualizzati nuovi messaggi
ogni volta che un profilo viene caricato in Google Cloud
progetto.
Per interrompere il servizio, premi Ctrl-C.
app hot
L'esempio hotapp
utilizza un loop infinito che chiama due funzioni, quindi
con lo scheduler Go. Nell'esempio è supportata l'impostazione del flag -local_work
. Quando questo
è true
, il lavoro, sotto forma di loop for, viene aggiunto ai singoli
funzioni. Per impostazione predefinita, questo flag è impostato su false
.
Per eseguire l'esempio hotapp
, segui questi passaggi:
Passa alla directory
hotapp
:cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/hotapp
Avvia il servizio eseguendo questo comando:
go run main.go
Se vuoi generare dati del profilo coerenti con indicati nella documentazione di Cloud Profiler quindi 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 in Cloud Shell
qualche secondo dopo l'avvio del servizio. Vengono visualizzati nuovi messaggi
ogni volta che un profilo viene caricato in Google Cloud
progetto.
Per interrompere il servizio, premi Ctrl-C.
La sezione relativa al confronto dei profili utilizzati
due diversi deployment di docdemo-service
. In un deployment,
skew
e version
sono state impostate come descritto in precedenza. Nel secondo
deployment, skew
è stato impostato su 25
e version
è stato impostato su 1.25.0
.
Risoluzione dei problemi
Se ricevi un messaggio di errore di autorizzazione negata dopo aver avviato il servizio: vedi Errori di configurazione del progetto Google Cloud.