This crate exposes a simple procedural macro that logs you how much time was spent during each call of the function it wraps.
In Cargo.toml
:
toml
[dependencies]
micro-timer = "0.1"
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.
``rust
use micro_timer::timed;
/// Expose the
logcrate as
crate::log`.
use log;
fn my_func() { // code here }
fn main() {
// Use any standard logger you want.
// In this case, we're using simple_logger
simplelogger::initby_env();
}
```
bash
$ RUST_LOG=trace ./my-program
2020-02-27 14:27:01,097 TRACE [my_crate::my_module] Duration of `my_func`: 2.024734ms