NullTracer

Struct NullTracer 

Source
pub struct NullTracer;
Expand description

A no-op implementation of TracerSystem that silently discards all tracing operations

This class follows the Null Object Pattern to eliminate conditional checks in client code. All record methods are overridden to do nothing, and all query methods return empty results.

Implementations§

Source§

impl NullTracer

Source

pub fn new() -> Self

Create a new null tracer

Source

pub fn is_enabled(&self) -> bool

Always returns false for null tracer

Source

pub fn enable(&self)

No-op method for interface compatibility

Source

pub fn disable(&self)

No-op method for interface compatibility

Source

pub fn record_event(&self, _event: Box<dyn TracerEvent>)

Do nothing implementation of record_event

Source

pub fn record_llm_call( &self, _model: impl Into<String>, _messages: Vec<HashMap<String, Value>>, _temperature: f64, _tools: Option<Vec<HashMap<String, Value>>>, _source: impl Into<String>, _correlation_id: impl Into<String>, )

Do nothing implementation of record_llm_call

Source

pub fn record_llm_response( &self, _model: impl Into<String>, _content: impl Into<String>, _tool_calls: Option<Vec<HashMap<String, Value>>>, _call_duration_ms: Option<f64>, _source: impl Into<String>, _correlation_id: impl Into<String>, )

Do nothing implementation of record_llm_response

Source

pub fn record_tool_call( &self, _tool_name: impl Into<String>, _arguments: HashMap<String, Value>, _result: Value, _caller: Option<String>, _call_duration_ms: Option<f64>, _source: impl Into<String>, _correlation_id: impl Into<String>, )

Do nothing implementation of record_tool_call

Source

pub fn record_agent_interaction( &self, _from_agent: impl Into<String>, _to_agent: impl Into<String>, _event_type: impl Into<String>, _event_id: Option<String>, _source: impl Into<String>, _correlation_id: impl Into<String>, )

Do nothing implementation of record_agent_interaction

Source

pub fn get_event_summaries( &self, _start_time: Option<f64>, _end_time: Option<f64>, _filter_func: Option<&dyn EventFilterFn>, ) -> Vec<String>

Return an empty vector for any get_event_summaries request

Source

pub fn get_last_n_summaries( &self, _n: usize, _filter_func: Option<&dyn EventFilterFn>, ) -> Vec<String>

Return an empty vector for any get_last_n_summaries request

Source

pub fn count_events( &self, _start_time: Option<f64>, _end_time: Option<f64>, _filter_func: Option<&dyn EventFilterFn>, ) -> usize

Return 0 for any count_events request

Source

pub fn clear(&self)

Do nothing implementation of clear method

Source

pub fn len(&self) -> usize

Always returns 0 for null tracer

Source

pub fn is_empty(&self) -> bool

Always returns true for null tracer

Trait Implementations§

Source§

impl Default for NullTracer

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.

§

impl<T> Instrument for T

§

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

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

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.

§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
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.
§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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