pub struct MetricEvent {Show 21 fields
pub ts: u64,
pub tool: &'static str,
pub duration_ms: u64,
pub output_chars: usize,
pub param_path_depth: usize,
pub max_depth: Option<u32>,
pub result: &'static str,
pub error_type: Option<String>,
pub error_subtype: Option<String>,
pub session_id: Option<String>,
pub seq: Option<u32>,
pub cache_hit: Option<bool>,
pub cache_tier: Option<&'static str>,
pub cache_write_failure: Option<bool>,
pub exit_code: Option<i32>,
pub timed_out: bool,
pub output_truncated: Option<bool>,
pub chars_threshold_breach: bool,
pub file_ext: Option<&'static str>,
pub filter_applied: Option<String>,
pub language: Option<String>,
}Expand description
A single metric event emitted by a tool invocation.
Fields§
§ts: u64§tool: &'static str§duration_ms: u64§output_chars: usize§param_path_depth: usize§max_depth: Option<u32>§result: &'static str§error_type: Option<String>§error_subtype: Option<String>§session_id: Option<String>§seq: Option<u32>§cache_hit: Option<bool>§cache_tier: Option<&'static str>§cache_write_failure: Option<bool>Set to Some(true) when an L2 disk cache write fails (dir, tempfile, write, or rename). Drives the cache_write_failures_total OTEL counter.
exit_code: Option<i32>§timed_out: bool§output_truncated: Option<bool>§chars_threshold_breach: boolTrue when output_chars > 30_000; fires for the top ~0.33% of exec_command calls
(p99.7 of 27,981 observed calls). Early-warning signal for responses approaching
the per-stream byte-cap threshold.
file_ext: Option<&'static str>File extension of the analyzed path, lowercased. Some("rs") for known extensions,
Some("other") for unrecognized extensions, None when the path has no extension.
Only populated for analyze_file and analyze_module.
filter_applied: Option<String>Name of the filter rule that matched and transformed exec_command output.
None when no filter fired or for non-exec_command tools.
language: Option<String>Human-readable programming language name derived from the file extension
(e.g., Some("Rust") for .rs files). None when the path has no extension
or the extension is not recognized. Only populated for analyze_file and
analyze_module.
Trait Implementations§
Source§impl Clone for MetricEvent
impl Clone for MetricEvent
Source§fn clone(&self) -> MetricEvent
fn clone(&self) -> MetricEvent
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 MetricEvent
impl Debug for MetricEvent
Source§impl Default for MetricEvent
impl Default for MetricEvent
Source§fn default() -> MetricEvent
fn default() -> MetricEvent
Source§impl Deserialize<'static> for MetricEventwhere
MetricEvent: Default,
impl Deserialize<'static> for MetricEventwhere
MetricEvent: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'static>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'static>,
Auto Trait Implementations§
impl Freeze for MetricEvent
impl RefUnwindSafe for MetricEvent
impl Send for MetricEvent
impl Sync for MetricEvent
impl Unpin for MetricEvent
impl UnsafeUnpin for MetricEvent
impl UnwindSafe for MetricEvent
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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