Scientisto

Crates.io MIT licensed Publish

scientisto is a light-weight Rust implementation of the github/scientist library used for careful refactoring of critical code paths. It provides the Experiment struct used to define the conducted experiment and publishing utilities.

About

The library aims to be as minimal as possible, pulling no external dependencies and using a bare minimum from the std library.

Usage

Experiment struct represents a definition of an experimental code path with explicit implementations of the control and experimental execution blocks.

The experiment is guided by the configuration specified during the Experiment construction.

The experiment observations are published internally using the publish function. ```rust use scientisto::Experiment; use tracing::info;

let expected: i32 = 1; let result = Experiment::new("Test") .control(|| expected) .experiment(|| expected + 1) .publish(|o: &scientisto::observation::Observation| { tracing::info!("You can do any magic in the publisher") }) .run(); ```

Limitations