pub struct ExperimentResult {
pub id: i64,
pub session_id: SessionId,
pub variation: Variation,
pub baseline_score: f64,
pub candidate_score: f64,
pub delta: f64,
pub latency_ms: u64,
pub tokens_used: u64,
pub accepted: bool,
pub source: ExperimentSource,
pub created_at: String,
}Expand description
Persisted record of a single variation trial.
Each time ExperimentEngine evaluates a candidate variation, it produces an
ExperimentResult that is stored in SQLite (when memory is configured) and
included in the ExperimentSessionReport.
Fields§
§id: i64Row ID in the SQLite experiments table (-1 when not yet persisted).
session_id: SessionIdSession ID of the experiment session that produced this result.
variation: VariationThe parameter variation that was tested.
baseline_score: f64Mean score of the current progressive baseline before this variation was tested.
candidate_score: f64Mean score achieved by the candidate configuration.
delta: f64candidate_score - baseline_score (positive means improvement).
latency_ms: u64Wall-clock latency for the candidate evaluation in milliseconds.
tokens_used: u64Total tokens consumed by judge calls during the candidate evaluation.
accepted: boolWhether this variation was accepted as the new baseline.
source: ExperimentSourceHow this experiment was triggered.
created_at: StringISO-8601 timestamp when the result was recorded.
Trait Implementations§
Source§impl Clone for ExperimentResult
impl Clone for ExperimentResult
Source§fn clone(&self) -> ExperimentResult
fn clone(&self) -> ExperimentResult
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExperimentResult
impl Debug for ExperimentResult
Source§impl<'de> Deserialize<'de> for ExperimentResult
impl<'de> Deserialize<'de> for ExperimentResult
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ExperimentResult
impl RefUnwindSafe for ExperimentResult
impl Send for ExperimentResult
impl Sync for ExperimentResult
impl Unpin for ExperimentResult
impl UnsafeUnpin for ExperimentResult
impl UnwindSafe for ExperimentResult
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request