pub struct ExecutionTrace {
pub variant: String,
pub stages: Vec<StageOutcome>,
pub distinct_cache_keys: Vec<String>,
pub prompt_cache_consistent: bool,
pub final_output: Value,
pub bytes_per_stage: Vec<usize>,
}Expand description
Full execution trace returned by IngestExecutor::run.
Fields§
§variant: StringPipeline variant tag ("two_phase" / "four_step").
stages: Vec<StageOutcome>Stage-by-stage outcomes in execution order.
distinct_cache_keys: Vec<String>Distinct cache keys observed across LLM stages. Form 3’s acceptance criterion is that this set has length 1 (or 0 when the pipeline has no LLM stages).
prompt_cache_consistent: booltrue when every LLM stage shared the same cache key.
final_output: ValueFinal structured output emitted by the last LLM stage, OR the last helper stage if the pipeline had no LLM stages.
bytes_per_stage: Vec<usize>v0.7.0 polish (issue #782 PERF-11) — per-stage content-bytes
histogram. Indexed by stage execution order (matches
stages[i]). Helpers report the borrowed-slice length; LLM
stages report the post-truncation length. Operators threading
the trace into Prometheus/Statsd can publish this as a
histogram with one bucket per stage label.
Trait Implementations§
Source§impl Clone for ExecutionTrace
impl Clone for ExecutionTrace
Source§fn clone(&self) -> ExecutionTrace
fn clone(&self) -> ExecutionTrace
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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>,
Auto Trait Implementations§
impl Freeze for ExecutionTrace
impl RefUnwindSafe for ExecutionTrace
impl Send for ExecutionTrace
impl Sync for ExecutionTrace
impl Unpin for ExecutionTrace
impl UnsafeUnpin 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
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 more