pub trait Telemetry:
Send
+ Sync
+ 'static {
Show 20 methods
// Provided methods
fn on_start<'a>(&'a self, _event: &'a StartEvent) -> BoxFuture<'a, ()> { ... }
fn on_step_start<'a>(
&'a self,
_event: &'a StepStartEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_language_model_call_start<'a>(
&'a self,
_event: &'a ModelCallStartEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_language_model_call_end<'a>(
&'a self,
_event: &'a ModelCallEndEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_tool_execution_start<'a>(
&'a self,
_event: &'a ToolExecutionStartEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_tool_execution_end<'a>(
&'a self,
_event: &'a ToolExecutionEndEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_step_end<'a>(&'a self, _event: &'a StepEndEvent) -> BoxFuture<'a, ()> { ... }
fn on_embed_start<'a>(
&'a self,
_event: &'a EmbedStartEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_embed_end<'a>(
&'a self,
_event: &'a EmbedEndEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_rerank_start<'a>(
&'a self,
_event: &'a RerankStartEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_rerank_end<'a>(
&'a self,
_event: &'a RerankEndEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_embed_operation_start<'a>(
&'a self,
_event: &'a EmbedCallStartEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_embed_operation_end<'a>(
&'a self,
_event: &'a EmbedCallEndEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_rerank_operation_start<'a>(
&'a self,
_event: &'a RerankCallStartEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_rerank_operation_end<'a>(
&'a self,
_event: &'a RerankCallEndEvent,
) -> BoxFuture<'a, ()> { ... }
fn on_end<'a>(&'a self, _event: &'a EndEvent) -> BoxFuture<'a, ()> { ... }
fn on_abort<'a>(&'a self, _event: &'a AbortEvent) -> BoxFuture<'a, ()> { ... }
fn on_error<'a>(&'a self, _event: &'a ErrorEvent<'_>) -> BoxFuture<'a, ()> { ... }
fn execute_language_model_call<'a>(
&'a self,
_ctx: &'a ModelCallContext,
call: BoxFuture<'a, Result<ModelCallOutcome, Error>>,
) -> BoxFuture<'a, Result<ModelCallOutcome, Error>> { ... }
fn execute_tool<'a>(
&'a self,
_ctx: &'a ToolExecutionContext,
call: BoxFuture<'a, Result<ToolOutcome, ToolError>>,
) -> BoxFuture<'a, Result<ToolOutcome, ToolError>> { ... }
}Expand description
A telemetry integration with awaited lifecycle callbacks.
Every method has a no-op default. Integrations for the same event run concurrently; unwinding callback panics cannot interrupt the operation.
Provided Methods§
Sourcefn on_start<'a>(&'a self, _event: &'a StartEvent) -> BoxFuture<'a, ()>
fn on_start<'a>(&'a self, _event: &'a StartEvent) -> BoxFuture<'a, ()>
A call started.
Sourcefn on_step_start<'a>(&'a self, _event: &'a StepStartEvent) -> BoxFuture<'a, ()>
fn on_step_start<'a>(&'a self, _event: &'a StepStartEvent) -> BoxFuture<'a, ()>
A step started.
Sourcefn on_language_model_call_start<'a>(
&'a self,
_event: &'a ModelCallStartEvent,
) -> BoxFuture<'a, ()>
fn on_language_model_call_start<'a>( &'a self, _event: &'a ModelCallStartEvent, ) -> BoxFuture<'a, ()>
A model call is about to be made.
Sourcefn on_language_model_call_end<'a>(
&'a self,
_event: &'a ModelCallEndEvent,
) -> BoxFuture<'a, ()>
fn on_language_model_call_end<'a>( &'a self, _event: &'a ModelCallEndEvent, ) -> BoxFuture<'a, ()>
A model call finished.
Sourcefn on_tool_execution_start<'a>(
&'a self,
_event: &'a ToolExecutionStartEvent,
) -> BoxFuture<'a, ()>
fn on_tool_execution_start<'a>( &'a self, _event: &'a ToolExecutionStartEvent, ) -> BoxFuture<'a, ()>
A tool execution started.
Sourcefn on_tool_execution_end<'a>(
&'a self,
_event: &'a ToolExecutionEndEvent,
) -> BoxFuture<'a, ()>
fn on_tool_execution_end<'a>( &'a self, _event: &'a ToolExecutionEndEvent, ) -> BoxFuture<'a, ()>
A tool execution finished.
Sourcefn on_step_end<'a>(&'a self, _event: &'a StepEndEvent) -> BoxFuture<'a, ()>
fn on_step_end<'a>(&'a self, _event: &'a StepEndEvent) -> BoxFuture<'a, ()>
A step finished.
Sourcefn on_embed_start<'a>(
&'a self,
_event: &'a EmbedStartEvent,
) -> BoxFuture<'a, ()>
fn on_embed_start<'a>( &'a self, _event: &'a EmbedStartEvent, ) -> BoxFuture<'a, ()>
An embedding call started.
Sourcefn on_embed_end<'a>(&'a self, _event: &'a EmbedEndEvent) -> BoxFuture<'a, ()>
fn on_embed_end<'a>(&'a self, _event: &'a EmbedEndEvent) -> BoxFuture<'a, ()>
An embedding call finished.
Sourcefn on_rerank_start<'a>(
&'a self,
_event: &'a RerankStartEvent,
) -> BoxFuture<'a, ()>
fn on_rerank_start<'a>( &'a self, _event: &'a RerankStartEvent, ) -> BoxFuture<'a, ()>
A rerank call started.
Sourcefn on_rerank_end<'a>(&'a self, _event: &'a RerankEndEvent) -> BoxFuture<'a, ()>
fn on_rerank_end<'a>(&'a self, _event: &'a RerankEndEvent) -> BoxFuture<'a, ()>
A rerank call finished.
Sourcefn on_embed_operation_start<'a>(
&'a self,
_event: &'a EmbedCallStartEvent,
) -> BoxFuture<'a, ()>
fn on_embed_operation_start<'a>( &'a self, _event: &'a EmbedCallStartEvent, ) -> BoxFuture<'a, ()>
An embedding operation started before its attempts.
Sourcefn on_embed_operation_end<'a>(
&'a self,
_event: &'a EmbedCallEndEvent,
) -> BoxFuture<'a, ()>
fn on_embed_operation_end<'a>( &'a self, _event: &'a EmbedCallEndEvent, ) -> BoxFuture<'a, ()>
An embedding operation completed all its attempts.
Sourcefn on_rerank_operation_start<'a>(
&'a self,
_event: &'a RerankCallStartEvent,
) -> BoxFuture<'a, ()>
fn on_rerank_operation_start<'a>( &'a self, _event: &'a RerankCallStartEvent, ) -> BoxFuture<'a, ()>
A reranking operation started before its attempts.
Sourcefn on_rerank_operation_end<'a>(
&'a self,
_event: &'a RerankCallEndEvent,
) -> BoxFuture<'a, ()>
fn on_rerank_operation_end<'a>( &'a self, _event: &'a RerankCallEndEvent, ) -> BoxFuture<'a, ()>
A reranking operation completed all its attempts.
Sourcefn on_abort<'a>(&'a self, _event: &'a AbortEvent) -> BoxFuture<'a, ()>
fn on_abort<'a>(&'a self, _event: &'a AbortEvent) -> BoxFuture<'a, ()>
A streaming call was aborted.
Sourcefn on_error<'a>(&'a self, _event: &'a ErrorEvent<'_>) -> BoxFuture<'a, ()>
fn on_error<'a>(&'a self, _event: &'a ErrorEvent<'_>) -> BoxFuture<'a, ()>
An error occurred.
Sourcefn execute_language_model_call<'a>(
&'a self,
_ctx: &'a ModelCallContext,
call: BoxFuture<'a, Result<ModelCallOutcome, Error>>,
) -> BoxFuture<'a, Result<ModelCallOutcome, Error>>
fn execute_language_model_call<'a>( &'a self, _ctx: &'a ModelCallContext, call: BoxFuture<'a, Result<ModelCallOutcome, Error>>, ) -> BoxFuture<'a, Result<ModelCallOutcome, Error>>
Runs a model call inside integration-specific context (for example an
OpenTelemetry span). The default runs call unchanged.
Sourcefn execute_tool<'a>(
&'a self,
_ctx: &'a ToolExecutionContext,
call: BoxFuture<'a, Result<ToolOutcome, ToolError>>,
) -> BoxFuture<'a, Result<ToolOutcome, ToolError>>
fn execute_tool<'a>( &'a self, _ctx: &'a ToolExecutionContext, call: BoxFuture<'a, Result<ToolOutcome, ToolError>>, ) -> BoxFuture<'a, Result<ToolOutcome, ToolError>>
Runs a tool execution inside integration-specific context.
Implementations§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".