fgprof is a sampling Go profiler that allows you to analyze On-CPU as well as Off-CPU (e.g. I/O) time together. Go's builtin sampling CPU profiler can only show On-CPU time, but it's better than fgprof at that. Go also includes tracing profilers that can analyze I/O, but they can't be combined with the CPU profiler. fgprof is designed for analyzing applications with mixed I/O and CPU workloads. This kind of profiling is also known as wall-clock profiling. If this is the first time you hear about fgprof, you should start by reading about The Problem & How it Works. fgprof is compatible with the go tool pprof visualizer. Which tool you prefer is up to you, but one thing I like about Gregg's tool is that you can filter the plaintext files using grep which can be very useful when analyzing large programs.

Features

  • fgprof is compatible with the go tool pprof visualizer
  • fgprof is designed for analyzing applications with mixed I/O and CPU workloads
  • fgprof is a sampling Go profiler that allows you to analyze On-CPU as well as Off-CPU
  • Go's builtin sampling CPU profiler can only show On-CPU time
  • fgprof is implemented as a background goroutine that wakes up 99 times per second
  • This data is used to maintain an in-memory stack counter which can be converted to the pprof or folded output format

Project Samples

Project Activity

See All Activity >

Categories

Frameworks

License

MIT License

Follow fgprof

fgprof Web Site

Other Useful Business Software
Try Google Cloud Risk-Free With $300 in Credit Icon
Try Google Cloud Risk-Free With $300 in Credit

No hidden charges. No surprise bills. Cancel anytime.

Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of fgprof!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Go

Related Categories

Go Frameworks

Registered

2023-01-20