Go quickstart
Stay organized with collections
Save and categorize content based on your preferences.
Sample profiler_quickstart simulates a CPU-intensive workload for Cloud Profiler in Go.
Code sample
Go
For more information, see the Profiler Go API reference documentation.
To authenticate to Profiler, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
// Sample profiler_quickstart simulates a CPU-intensive workload for profiler.
packagemain
import(
"log"
"runtime"
"cloud.google.com/go/profiler"
)
funcbusyloop(){
for{
load()
// Make sure to yield so that the profiler thread
// gets some CPU time even on single core machines
// where GOMAXPROCS is 1. Not needed in real programs
// as typically the preemption happens naturally.
runtime.Gosched()
}
}
funcload(){
fori:=0;i < (1 << 20);i++{
}
}
funcmain(){
err:=profiler.Start (profiler.Config {
Service:"hello-profiler",
NoHeapProfiling:true,
NoAllocProfiling:true,
NoGoroutineProfiling:true,
DebugLogging:true,
// ProjectID must be set if not running on GCP.
// ProjectID: "my-project",
})
iferr!=nil{
log.Fatalf("failed to start the profiler: %v",err)
}
busyloop()
}
What's next
To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.