MetricsClient

Struct MetricsClient 

Source
pub struct MetricsClient { /* private fields */ }
Expand description

Singleton client for managing OpenTelemetry metrics instruments.

The actual metrics export destination (console, OTLP endpoint, etc.) is configured through OpenTelemetry SDK configuration by users, not by this client.

Implementations§

Source§

impl MetricsClient

Source

pub fn global() -> &'static MetricsClient

Get the singleton MetricsClient instance.

Uses the global OpenTelemetry meter provider. Users should configure the meter provider before calling this method.

Source

pub fn record_cycle_count( &self, count: u64, attributes: &HashMap<String, String>, )

Record event loop cycle count.

Source

pub fn record_start_cycle(&self, attributes: &HashMap<String, String>)

Record event loop start cycle.

Source

pub fn record_end_cycle(&self, attributes: &HashMap<String, String>)

Record event loop end cycle.

Source

pub fn record_cycle_duration( &self, duration_secs: f64, attributes: &HashMap<String, String>, )

Record cycle duration.

Source

pub fn record_latency( &self, latency_ms: u64, attributes: &HashMap<String, String>, )

Record latency.

Source

pub fn record_input_tokens( &self, tokens: u32, attributes: &HashMap<String, String>, )

Record input tokens.

Source

pub fn record_output_tokens( &self, tokens: u32, attributes: &HashMap<String, String>, )

Record output tokens.

Source

pub fn record_cache_read_input_tokens( &self, tokens: u32, attributes: &HashMap<String, String>, )

Record cache read input tokens.

Source

pub fn record_cache_write_input_tokens( &self, tokens: u32, attributes: &HashMap<String, String>, )

Record cache write input tokens.

Source

pub fn record_time_to_first_token( &self, time_ms: u64, attributes: &HashMap<String, String>, )

Record model time to first token.

Source

pub fn record_tool_call_count( &self, count: u64, attributes: &HashMap<String, String>, )

Record tool call count.

Source

pub fn record_tool_success_count( &self, count: u64, attributes: &HashMap<String, String>, )

Record tool success count.

Source

pub fn record_tool_error_count( &self, count: u64, attributes: &HashMap<String, String>, )

Record tool error count.

Source

pub fn record_tool_duration( &self, duration_secs: f64, attributes: &HashMap<String, String>, )

Record tool duration.

Source

pub fn meter(&self) -> &Meter

Get the underlying meter for creating custom metrics.

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.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

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

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

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.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

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

Source§

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
Source§

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> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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