#probe #static #instrumentation

nightly probe

Static instrumentation probes

8 releases

0.2.1 May 20, 2020
0.2.0 May 20, 2020
0.1.6 Aug 17, 2016
0.1.5 Aug 11, 2015
0.1.0 Dec 21, 2014
Download history 20/week @ 2021-04-03 14/week @ 2021-04-10 13/week @ 2021-04-17 5/week @ 2021-04-24 11/week @ 2021-05-01 3/week @ 2021-05-08 12/week @ 2021-05-15 7/week @ 2021-05-22 3/week @ 2021-05-29 13/week @ 2021-06-05 3/week @ 2021-06-12 4/week @ 2021-06-19 5/week @ 2021-06-26 4/week @ 2021-07-03 4/week @ 2021-07-10 13/week @ 2021-07-17

54 downloads per month

Apache-2.0 OR MIT

18KB
153 lines

libprobe: Static probes for Rust

With the probe! macro, programmers can place static instrumentation points in their code to mark events of interest. These are compiled into platform-specific implementations, e.g. SystemTap SDT on Linux. Probes are designed to have negligible overhead during normal operation, so they can be present in all builds, and only activated using those external tools.

Documentation

Building libprobe

Simply run rustc src/lib.rs and copy the libprobe shared object to an appropriate library path for your other rust projects.

If you're using cargo, just add this to your Cargo.toml:

[dependencies.probe]
git = "https://github.com/cuviper/rust-libprobe.git"

Build status is available on Travis CI: build status

Rust integration

I hope that this library can eventually be a standard part of the Rust distribution -- see the rust pull request and original enhancement issue. It works fine as a standalone library, but if it were incorporated, then even Rust's own libraries could define probe points.

License

libprobe follows the same license choices as The Rust Project itself, in order to ease a future merge.

See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.

No runtime deps