CPU profiling extension
- Dominant language
- Go
- Stars
- 11.7k
- Forks
- 802
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 80
Description
In the world of high-performance systems, ensuring that CPU resources are allocated efficiently is crucial for achieving optimal performance.
However, mismatched CPU allocations, such as discrepancies in CPU capabilities between instances, cross-NUMA scheduling, or excessive core-sharing, can significantly degrade system performance and lead to complex, hard-to-diagnose issues.
To help users identify and mitigate these problems, I propose adding a CPU Allocation Analysis feature to Pyroscope.
The implementation mostly relies on the attribution we can identify in profilers. The basic attributes we may need to collect include:
* CPU model and stepping, ISA architecture
* Instance type (in cloud environments)
* Whether cross-NUMA scheduling occurs
Even attaching these basic attributes as profile labels can greatly help in investigating issues.
More advanced scenarios involve PMU analysis; for example, we could try to attribute cache misses to specific factors such as patterns in neighborship or hyper-threading contention.
A UI extension may follow to enhance usability.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.