8 unstable releases (3 breaking)
0.4.0 | Sep 28, 2020 |
---|---|
0.3.1 | Jun 22, 2020 |
0.2.1 | Mar 23, 2020 |
0.1.2 | Feb 27, 2020 |
#1 in #spent
4KB
Micro-timer
This crate exposes a simple procedural macro that logs you how much time was spent during each call of the function it wraps.
Installing
In Cargo.toml
:
[dependencies]
micro-timer = "0.4.0"
log = "0.4.8"
The community-standard log
crate is used for output. In reality, since procedural macros don't have hygiene, you could define log
as being anything that has the same interface as the log
crate.
Usage
use micro_timer::timed;
/// Expose the `log` crate as `crate::log`.
use log;
#[timed]
fn my_func() {
// code here
}
fn main() {
// Use any standard logger you want.
// In this case, we're using `simple_logger`
simple_logger::init_by_env();
}
Result
$ RUST_LOG=trace ./my-program
2020-02-27 14:27:01,097 TRACE [my_crate::my_module] Duration of `my_func`: 2.024734ms
Minimum supported Rust version
The minimum supported Rust version is 1.41.1
, because it's whatever Debian stable has. It probably works in older versions, but it's not guaranteed.
Dependencies
~1.5MB
~37K SLoC