#instrument #attributes #macro #record #function #time-graph

macro time-graph-macros

Attribute macro to instrument functions and record their executing time with the time-graph crate

3 unstable releases

0.3.2 Sep 25, 2024
0.3.0 Feb 28, 2023
0.1.0 Mar 5, 2021

#78 in #instrument

Download history 410/week @ 2024-07-29 253/week @ 2024-08-05 434/week @ 2024-08-12 269/week @ 2024-08-19 277/week @ 2024-08-26 639/week @ 2024-09-02 336/week @ 2024-09-09 943/week @ 2024-09-16 1017/week @ 2024-09-23 590/week @ 2024-09-30 456/week @ 2024-10-07 432/week @ 2024-10-14 553/week @ 2024-10-21 951/week @ 2024-10-28 909/week @ 2024-11-04 896/week @ 2024-11-11

3,313 downloads per month
Used in 2 crates (via time-graph)

Apache-2.0/MIT

6KB
78 lines

A procedural macro attribute for instrumenting functions with time-graph.

time-graph provides always-on profiling for your code, allowing to record the execution time of functions, spans inside these functions and the actual call graph at run-time. This crate provides the #[instrument] procedural macro attribute.

Note that this macro is also re-exported by the main time-graph crate.

Usage

First, add this to your Cargo.toml:

[dependencies]
time-graph-macros = "0.1.0"

The #[instrument] attribute can now be added to a function to automatically create a time-graph callsite, and enter the corresponding span when that function is called. For example:

use time_graph_macros::instrument;

#[instrument]
pub fn my_function(my_arg: usize) {
    // ...
}

Dependencies

~245–700KB
~17K SLoC