intel / intel/gprofiler

dotnet: Merge stacks with per-process/per-thread identifiers

Open
#692 0 comments 0 reactions 0 assignees View on GitHub
runtime/dotnet
Dominant language
Python
Stars
826
Forks
79
PR merge metrics
No merged PRs in 30d

Description

dotnet-trace produces stacks of this form: `Process64 Process(1) (1) Args: _[net];(Non-Activities)_[net];Threads_[net];Thread (1)`. The `Thread` and `Process` stacks have high cardinality - and prevent the merging of the same stacks across differnet machines, because different processes/threads will have different IDs across different machines.

If dotnet-trace supports removing them (like async-profiler supports embedding per-thread names, and supports not doing so) - let's use that flag and remove.
If not - then gProfiler (`dotnet.py`) should strip those parts away. IMO the frames can be removed altogether - the frames that create high cardinality, so `Process(xxx)` and `Thread(xxx)` frames.

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.