grafana / grafana/pyroscope

CPU profiling extension

Open
#3,916 0 comments 4 reactions 0 assignees View on GitHub
enhancement
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.