Crate exec_duration[]

Expand description

Stupid and easy to use Rust code instrumentalization library.

This module provides a simple API to measure the execution duration of a function or a block code.

Examples

use exec_duration::ExecProbe;

fn function_1() {
    // Create a new execution probe object
    // exec duration will be computed from this point
    let mut ep = ExecProbe::new("function_1");

    // some code

    // add a new point
    ep.add_point("part 1");

    // some code

    // add a new point
    ep.add_point("part 2");

    // some code

    // add a new point
    ep.add_point("part 3");
}

fn function_2() {
    // Create a new execution probe object
    // exec duration will be computed from this point
    let mut ep = ExecProbe::new("function_2");

    // some code

    // add a new point
    ep.add_point("part 1");

    // some code

    // add a new point
    ep.add_point("part 2");

    // some code

    // optionally call the stop function
    ep.stop();
}

fn main() {
    function_1();
    function_2();

    // fetch results
    let list = exec_duration::fetch_results();
    for r in list.iter() {
        println!("{}", r);
    }
}

Modules

output module exposes the results (metrics)

Structs

Execution probe structure. Instances are created using ExecProbe::new function.

Functions

Fetch execution metrics. Typically, this function needs to be called once the execution of all measured blocks is done.