go-profiler-notes/docs/profiling/cpu-profiler-trace.go
Felix Geisendörfer e27d754ed0 toc rework
2022-12-29 14:05:19 +01:00

30 lines
387 B
Go

//go:build ignore
package main
import (
"fmt"
"io"
"os"
"runtime/pprof"
"runtime/trace"
"time"
)
func main() {
file, _ := os.Create("./trace.trace")
trace.Start(file)
defer trace.Stop()
pprof.StartCPUProfile(io.Discard)
defer pprof.StopCPUProfile()
go cpuHog()
time.Sleep(1 * time.Second)
}
func cpuHog() {
for i := 0; ; i++ {
fmt.Fprintf(io.Discard, "%d", i)
}
}