3 ms·
The main difference is that you get a timeline (flame chart) rather than flame graph. This allows you to understand the order in which operations are taking pla
by felixge 4y ago
The main difference is that you get a timeline (flame chart) rather than flame graph. This allows you to understand the order in which operations are taking place. You also get walltime (instead of CPU time), so you can debug Off-CPU performance bottlenecks (e.g. database calls) without the need for additional instrumentation. Last but not least you get everything broken down per-goroutine, so you can understand which operations are executed concurrently vs sequentially.
The Go CPU profiler is great for reducing CPU utilization. But unless you're CPU-bound, it's not very useful for improving latency. fgtrace is trying to help with that.