Less usually

This commit is contained in:
Felix Geisendörfer 2021-01-09 17:54:27 +01:00
parent 176a6295b8
commit 3ef3ef8f8e
2 changed files with 5 additions and 1 deletions

View file

@ -10,6 +10,10 @@ Look at the go source code to understand how the data is captured, what role run
Think through sampling rate issues, alloc size classes, etc.
## Performance Overhead
Talk about performance overhead ...
## Data Format
Figure out how the data ends up in the pprof file.

View file

@ -14,7 +14,7 @@ The pprof tool defines a [protocol buffer](https://developers.google.com/protoco
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:
A pprof file usually contains a list of **stack traces** called *Samples* that usually have one or more numeric **values** associated with them. For a CPU profile the value might be the CPU time duration in nanoseonds that the stack trace was observed for during profiling. For a heap profile it might be the number of bytes allocated. In addition to the values, each stack trace can also include a set of **labels**. The labels are key-value pairs and can even include a unit. In Go those labels are used for [profiler labels](https://rakyll.org/profiler-labels/).
A pprof file contains a list of **stack traces** called *Samples* that have one or more numeric **values** associated with them. For a CPU profile the value might be the CPU time duration in nanoseonds that the stack trace was observed for during profiling. For a heap profile it might be the number of bytes allocated. In addition to the values, each stack trace can also include a set of **labels**. The labels are key-value pairs and can even include a unit. In Go those labels are used for [profiler labels](https://rakyll.org/profiler-labels/).
The profile also includes the **time** (in UTC) that the profile was recorded, and the **duration** of the recording.