google / google/EtwToPprof

Process Annotation

Open
#1 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
14
Forks
10
PR merge metrics
No merged PRs in 30d

Description

A useful feature for doing diffs between profile runs with Chrome is process annotations. Since Chrome is multiprocess comparing profile runs is tricky. If process ids are not included, then all `chrome.exe` processes get merged into one stack frame by pprof (since they have the same name). If the pid is included, then diffing is impossible since the stack frames have different names.

I suggest an approach for annotating process frames based on their pid.

For example a flag

`--tag-pid=:` would tag process with pid `pid`, such that the function name of the frame in pprof would be like ` ()`.

An example with Chrome could be `--tag-pid=1234:GPU`, resulting in process 1234 being `chrome.exe (GPU)` in pprof.

Some considerations,
1. This should at least send a warning if a tag was not consumed. This means the user specified a pid that was not present in the trace.
2. This should perhaps be exclusive from the `--includeProcessAndThreadIds` flag, and should exit if both flags are present.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.