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 Profilazione delle applicazioni in esecuzione al di fuori di Google Cloud.

Se scegli di eseguire questi programmi, puoi creare rapidamente dati di profilazione da 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 utilizzando l'interfaccia di Cloud Profiler.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. 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 senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Enable the Cloud Profiler API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Enable the Cloud Profiler API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Avvia Cloud Shell

Nella parte superiore della pagina della Google Cloud console del tuo progetto, fai clic Attiva Cloud Shell:

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 Google Cloud progetto per la sessione di Cloud Shell. Il secondo messaggio spiega come modificare il progetto della sessione. Potrebbe essere necessario attendere qualche secondo per l'inizializzazione della sessione della shell:

Sessione di Cloud Shell.

Scarica 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 minuti.

profiler_quickstart

L'esempio profiler_quickstart è configurato per eseguire il servizio hello-profiler. La guida rapida di Profiler utilizza questo esempio.

Per avviare hello-profiler:

  1. Passa alla directory profiler_quickstart:

    cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/profiler_quickstart
    
  2. Avvia il servizio eseguendo questo comando:

    go run main.go
    

Il messaggio profiler has started viene visualizzato nella sessione di Cloud Shell alcuni secondi dopo l'avvio del servizio. Ogni volta che viene caricato un profilo nel progetto, vengono visualizzati nuovi messaggi. Google Cloud

Per arrestare il servizio, premi Ctrl+C.

hotapp

L'esempio hotapp utilizza un loop infinito che chiama due funzioni, quindi lo scheduler Go. L'esempio supporta l'impostazione del flag -local_work. Quando questo flag è true, il lavoro, sotto forma di loop for, viene aggiunto alle singole funzioni. Per impostazione predefinita, questo flag è impostato su false.

Per eseguire l'esempio hotapp:

  1. Passa alla directory hotapp:

    cd ~/gopath/src/github.com/GoogleCloudPlatform/golang-samples/profiler/hotapp
    
  2. Avvia il servizio eseguendo questo comando:

    go run main.go
    

    Se vuoi generare dati di profilo coerenti con i dati 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 di Cloud Shell alcuni secondi dopo l'avvio del servizio. Ogni volta che viene caricato un profilo nel progetto, vengono visualizzati nuovi messaggi. Google Cloud

Per arrestare il servizio, premi Ctrl+C.

La sezione sul confronto dei profili utilizzava due deployment diversi di docdemo-service. In un deployment, skew e version sono stati impostati come descritto in precedenza. Nel secondo deployment, 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 con la configurazione del progetto. Google Cloud