3 ms·
You can use eBPF tooling to attach to User SDT probes; this library is a way to instrument your code once and have those probes available via the appropriate tr
by tjfontaine 7y ago
You can use eBPF tooling to attach to User SDT probes; this library is a way to instrument your code once and have those probes available via the appropriate tracing infrastructure on the running platform
- anelson 7y agoYes exactly. The goal of this project is to let authors put trace points in their code and at compile time target whatever tracing system makes sense. On Linux that's either systemtap or ltt-ng. On Windows it (will be; not implemented yet) the event tracing API, on MacOS and FreeBSD it would be dtrace. There's also an option to completely disable tracing at compile time, which removes all tracing code and imposes absolutely zero runtime overhead.
- jen20 7y agoWorth noting that DTrace is now available on Windows too as of "recently" [1][2]. It would be great to support that also! [1]: https://www.microsoft.com/en-us/download/details.aspx?id=58091 https://www.microsoft.com/en-us/download/details.aspx?id=580... [2]: https://github.com/microsoft/DTrace-on-Windows https://github.com/microsoft/DTrace-on-Windows
- anelson 7y agoCool! Assuming it's a faithful port with source-level compatibility, it should work with the existing DTrace implementation I'm building. The differences between compiler toolchains are already abstracted away by the excellent `cc` crate. In any case I already have a Windows CI build; when DTrace is ready I'll add DTrace on Windows there and see what happens.
- jen20 7y agoGreat news, I'm very much looking forward to being able to use this crate! Thanks for your work (and that of those upstream of you).