1
0
mirror of https://github.com/DataDog/go-profiler-notes.git synced 2025-07-15 23:54:16 +02:00

Add CPU profiler section

This commit is contained in:
Felix Geisendörfer
2021-09-09 23:46:41 +02:00
parent fd511c528d
commit 6b9adbfc74
12 changed files with 218 additions and 37 deletions

View File

@ -0,0 +1,37 @@
// +build ignore
package main
import (
"os"
"runtime/pprof"
)
func main() {
pprof.StartCPUProfile(os.Stdout)
defer pprof.StopCPUProfile()
belowLimit()
aboveLimit()
}
func belowLimit() {
atDepth(32, cpuHog)
}
func aboveLimit() {
atDepth(64, cpuHog)
}
func cpuHog() {
for i := 0; i < 5000*1000*1000; i++ {
}
}
func atDepth(n int, fn func()) {
if n > 0 {
atDepth(n-1, fn)
} else {
fn()
}
}