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:

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

``rust use micro_timer::timed; /// Expose thelogcrate ascrate::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 simplelogger::initby_env(); } ```

Result

bash $ 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.