pub struct Telemetry {
pub metadata: HashMap<String, String>,
/* private fields */
}Expand description
Per-instance telemetry tracker with an async-friendly rolling mean.
Fields§
§metadata: HashMap<String, String>Free-form instance metadata (agent id, tenant, etc).
Implementations§
Source§impl Telemetry
impl Telemetry
Sourcepub async fn record_tool_invocation(
&self,
success: bool,
latency_ms: u64,
tokens: u64,
)
pub async fn record_tool_invocation( &self, success: bool, latency_ms: u64, tokens: u64, )
Record one invocation, updating the rolling mean latency.
Sourcepub async fn get_metrics(&self) -> TelemetryMetrics
pub async fn get_metrics(&self) -> TelemetryMetrics
Clone the current metrics.
Sourcepub async fn start_swarm(&self, _task_id: &str, _agent_count: usize)
pub async fn start_swarm(&self, _task_id: &str, _agent_count: usize)
Placeholder for future per-instance swarm telemetry.
Sourcepub async fn record_swarm_progress(
&self,
_task_id: &str,
_completed: usize,
_total: usize,
)
pub async fn record_swarm_progress( &self, _task_id: &str, _completed: usize, _total: usize, )
Placeholder for future per-instance swarm progress tracking.
Sourcepub async fn complete_swarm(&self, _success: bool) -> TelemetryMetrics
pub async fn complete_swarm(&self, _success: bool) -> TelemetryMetrics
Placeholder: returns the current metrics regardless of _success.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Telemetry
impl !RefUnwindSafe for Telemetry
impl Send for Telemetry
impl Sync for Telemetry
impl Unpin for Telemetry
impl UnsafeUnpin for Telemetry
impl !UnwindSafe for Telemetry
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> 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::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more