How to profile the execution time of a packet in kernel processing stack?
- Dominant language
- C
- Stars
- 22.7k
- Forks
- 4.1k
- Avg merge
- 10d 4h
- Merged PRs (30d)
- 3
Description
Bcc is a greate tool! And I wonder if there has a way to measure the execution time of each packet in kernel processing (TCP/IP stack and socket processing)? I tried to do that but found that it is hard to identify a specific packet to calculate the latency of a processing step.
For example, the latency of a packet from receiving from NICs to finishing IP processing; and the latency from a socket event being ready, to the time the application proactively calling epoll_wait to poll event.
Hope for any suggestion and possible solution!
Contributor guide
No contributing guide indexed for this repository
Research direction
No file or test is named; start by reviewing BCC’s existing networking and profiling tools around Linux TCP/IP and socket events. Done would require a concrete, documented approach or implementation for correlating packets or socket readiness with processing latency, plus validation, but the issue does not define the expected change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- networking, observability-sre, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100