pub struct OtelMetrics { /* private fields */ }Expand description
A Metrics implementation backed by OpenTelemetry instruments.
Records the following instruments:
| Instrument | Kind | Unit | Description |
|---|---|---|---|
a2a.server.requests | Counter | {request} | Total inbound requests |
a2a.server.responses | Counter | {response} | Total outbound responses |
a2a.server.errors | Counter | {error} | Total errors |
a2a.server.latency | Histogram | s | Request latency in seconds |
a2a.server.queue_depth | Gauge | {queue} | Number of active event queues |
a2a.server.pool.active | Gauge | {connection} | Active (in-use) connections |
a2a.server.pool.idle | Gauge | {connection} | Idle connections |
a2a.server.pool.created | Counter | {connection} | Total connections created |
a2a.server.pool.closed | Counter | {connection} | Connections closed |
All counters and the histogram carry a method attribute.
The error counter additionally carries an error attribute.
Implementations§
Source§impl OtelMetrics
impl OtelMetrics
Sourcepub fn from_meter(meter: &Meter) -> Self
pub fn from_meter(meter: &Meter) -> Self
Create an OtelMetrics from an already-configured Meter.
Prefer OtelMetricsBuilder for typical usage.
Trait Implementations§
Source§impl Debug for OtelMetrics
impl Debug for OtelMetrics
Source§impl Metrics for OtelMetrics
impl Metrics for OtelMetrics
Source§fn on_request(&self, method: &str)
fn on_request(&self, method: &str)
Called when a request is received, before processing.
Source§fn on_response(&self, method: &str)
fn on_response(&self, method: &str)
Called when a response is successfully sent.
Source§fn on_latency(&self, method: &str, duration: Duration)
fn on_latency(&self, method: &str, duration: Duration)
Called when a request completes (successfully or not) with the wall-clock
duration from receipt to response. Read more
Source§fn on_queue_depth_change(&self, active_queues: usize)
fn on_queue_depth_change(&self, active_queues: usize)
Called when the number of active event queues changes.
Source§fn on_connection_pool_stats(&self, stats: &ConnectionPoolStats)
fn on_connection_pool_stats(&self, stats: &ConnectionPoolStats)
Called with connection pool statistics when available. Read more
Auto Trait Implementations§
impl Freeze for OtelMetrics
impl !RefUnwindSafe for OtelMetrics
impl Send for OtelMetrics
impl Sync for OtelMetrics
impl Unpin for OtelMetrics
impl UnsafeUnpin for OtelMetrics
impl !UnwindSafe for OtelMetrics
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> 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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request