Skip to main content

RegressionSuite

Struct RegressionSuite 

Source
pub struct RegressionSuite { /* private fields */ }
Expand description

Compares evaluation suite results against stored per-category baselines.

Fails the check if any category’s success rate drops more than RegressionConfig::max_regression below its baseline.

Implementations§

Source§

impl RegressionSuite

Source

pub fn new() -> Self

Create a new regression suite with default configuration and no baselines.

Source

pub fn with_config(config: RegressionConfig) -> Self

Create with custom configuration.

Source

pub fn with_baseline(self, baseline: CategoryBaseline) -> Self

Manually register a baseline for a category.

Source

pub fn add_baseline( &mut self, category: impl Into<String>, stats: &EvaluationStats, )

Register a baseline from an EvaluationStats object.

Source

pub fn record_baselines(&mut self, suite_result: &SuiteResult)

Record baselines for ALL categories present in suite_result.

Use this to capture the current run as the new baseline.

Source

pub fn baselines_to_json(&self) -> Result<String>

Serialize baselines to a JSON string.

Source

pub fn has_baseline(&self, category: &str) -> bool

Returns true when a baseline has been recorded for category.

Source

pub fn get_baseline(&self, category: &str) -> Option<&CategoryBaseline>

Retrieve the stored baseline for category, or None if absent.

Source

pub fn load_baselines_from_json(json: &str) -> Result<Self>

Load baselines from a JSON string (produced by Self::baselines_to_json).

Source

pub fn check(&self, suite_result: &SuiteResult) -> RegressionResult

Run the regression check against a completed SuiteResult.

For each category with a stored baseline:

  • Skip if current_n_trials < min_trials.
  • Fail if baseline_rate - current_rate > max_regression.

Trait Implementations§

Source§

impl Default for RegressionSuite

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more