# A crate to print time taken to execute a function
### Features
- [x] Handle any number and type of parameter(s)
- [x] Handle asynchronous function(s)
- [ ] Handle alternative logging like file or rsyslog
### Install
```shell
cargo add timer_macro
```
### Usage
```rust
#[timer_macro::timer]
pub fn example_timer(x: usize, y: usize) -> Result<usize, Box<dyn std::error::Error>> {
std::thread::sleep(std::time::Duration::from_millis(500));
Ok(x + y)
}
#[timer_macro::timer]
pub async fn example_timer_async(pause: u64) -> Result<(), Box<dyn std::error::Error>> {
std::thread::sleep(std::time::Duration::from_millis(pause));
Ok(())
}
```