pub struct ExecutionTrace {
pub inputs: Example,
pub outputs: Option<Prediction>,
pub feedback: Option<FeedbackMetric>,
pub intermediate_steps: Vec<(String, Value)>,
pub errors: Vec<String>,
pub metadata: HashMap<String, Value>,
}Expand description
Execution trace capturing program behavior
Captures the full execution path of a module, including intermediate steps, errors, and environmental feedback.
Fields§
§inputs: ExampleInput example
outputs: Option<Prediction>Final prediction (if successful)
feedback: Option<FeedbackMetric>Evaluation feedback
intermediate_steps: Vec<(String, Value)>Intermediate steps in the execution
Each entry is (step_name, step_output)
errors: Vec<String>Errors encountered during execution
metadata: HashMap<String, Value>Execution metadata (timing, cost, etc.)
Implementations§
Source§impl ExecutionTrace
impl ExecutionTrace
Sourcepub fn simple(inputs: Example, outputs: Prediction) -> Self
pub fn simple(inputs: Example, outputs: Prediction) -> Self
Create a simple trace with just inputs and outputs
Sourcepub fn builder(inputs: Example) -> ExecutionTraceBuilder
pub fn builder(inputs: Example) -> ExecutionTraceBuilder
Create a new trace builder
Sourcepub fn with_feedback(self, feedback: FeedbackMetric) -> Self
pub fn with_feedback(self, feedback: FeedbackMetric) -> Self
Add feedback to the trace
Sourcepub fn is_successful(&self) -> bool
pub fn is_successful(&self) -> bool
Check if execution was successful
Sourcepub fn format_for_reflection(&self) -> String
pub fn format_for_reflection(&self) -> String
Format trace for LLM reflection
Trait Implementations§
Source§impl Clone for ExecutionTrace
impl Clone for ExecutionTrace
Source§fn clone(&self) -> ExecutionTrace
fn clone(&self) -> ExecutionTrace
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExecutionTrace
impl Debug for ExecutionTrace
Source§impl<'de> Deserialize<'de> for ExecutionTrace
impl<'de> Deserialize<'de> for ExecutionTrace
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExecutionTrace
impl RefUnwindSafe for ExecutionTrace
impl Send for ExecutionTrace
impl Sync for ExecutionTrace
impl Unpin for ExecutionTrace
impl UnwindSafe for ExecutionTrace
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Code for Twhere
T: Serialize + DeserializeOwned,
impl<T> Code for Twhere
T: Serialize + DeserializeOwned,
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> 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>
Converts
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>
Converts
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 more