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

pprof: Add visualization

This commit is contained in:
Felix Geisendörfer
2021-02-11 14:34:35 +01:00
parent 3855b7deac
commit e856f4da18
2 changed files with 5 additions and 1 deletions

View File

@ -10,7 +10,11 @@ The pprof tool features an interactive command line interface, but also a Web UI
### Description
The pprof tool defines a [protocol buffer](https://developers.google.com/protocol-buffers) output format, which is always stored with gzip compression and described in great detail this [README](https://github.com/google/pprof/blob/master/proto/README.md) as well as the [profile.proto](https://github.com/google/pprof/blob/master/proto/profile.proto) definition file itself.
The pprof tool defines a [protocol buffer](https://developers.google.com/protocol-buffers) output format, which is always stored with gzip compression and described in great detail this [README](https://github.com/google/pprof/blob/master/proto/README.md).
A picture is worth a thousand words, so here is a visualization of [profile.proto](https://github.com/google/pprof/blob/master/proto/profile.proto) generated by [protodot](https://github.com/seamia/protodot):
<img src="./profile.png" alt="profile.proto visualized" style="zoom: 80%;" />
pprof's data format appears to be designed to for efficency, multiple languages and different profile types (CPU, Heap, etc.), but because of this it's very abstract and full of indirection. If you want all the details, follow the links above. If you want the **tl;dr**, keep reading:

BIN
profile.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB