Open WesleyRosenblum opened 2 years ago
Hi, this seems like something I'd like to work on.
That would be awesome! You can see we started working on a BPF provider in https://github.com/aws/s2n-quic/pull/1324 but had issues with our MSRV at the time and got deprioritized for other things.
Indeed, we probably only need to do it once, bpftrace should also consume KProbes and UProbes. We could add examples for both systemtap and bpftrace.
Incidentally, it is stated that debugging symbols need to be exposed by user programs that one desires to trace: https://lwn.net/Articles/852112/. I think this applies more to tracing arbitrary function calls in the userspace program via UProbes rather than via USDTs (static tracepoints) in the linked PR.
Further, according to the article, bpftrace cannot get a user back trace (it may be useful in our case to know where the s2n-quic events are originating). I suppose that systemtap would be used in this case.
Problem:
s2n-quic does not currently support integration with DTrace
Solution:
Implement an Event Subscriber that integrates with DTrace, by implementing the event::Subscriber trait.