Contention monitor / wait graph detector
- Dominant language
- C
- Stars
- 22.7k
- Forks
- 4.1k
- Avg merge
- 10d 4h
- Merged PRs (30d)
- 3
Description
I'd like to propose an idea for a contention monitor / wait graph detector based on eBPF and bcc. I don't have the design all flushed out yet, and would really appreciate feedback. What I would like to do in general is monitor various synchronization mechanisms (user-space and kernel-space) and provide useful diagnostic data.
From the performance perspective, we could capture contention information. Whenever a thread blocks on a lock, we could grab a stack trace and record the number of times and duration spent waiting for the particular lock at the particular call stack.
From a debugging perspective, we could capture lock acquire/release events, and keep track of which lock is owned by which thread (and also which thread is waiting for which lock). Armed with this information, we could construct a wait chain: thread 123 waits for mutex abc owned by thread 456 and so on.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.