pub trait ObserverFactory: Send + Sync {
// Required methods
fn agent(
&self,
agent_name: Option<&str>,
parent: Option<&TraceContext>,
) -> Box<dyn AgentObserver>;
fn tool_call_request(
&self,
tool_name: &str,
parent: Option<&TraceContext>,
) -> Box<dyn McpRequestInstrumentation>;
}Expand description
Creates observers isolated to one agent or one inbound MCP request.
Required Methods§
Sourcefn agent(
&self,
agent_name: Option<&str>,
parent: Option<&TraceContext>,
) -> Box<dyn AgentObserver>
fn agent( &self, agent_name: Option<&str>, parent: Option<&TraceContext>, ) -> Box<dyn AgentObserver>
A fresh observer for one agent, continuing the parent trace when supplied.
Sourcefn tool_call_request(
&self,
tool_name: &str,
parent: Option<&TraceContext>,
) -> Box<dyn McpRequestInstrumentation>
fn tool_call_request( &self, tool_name: &str, parent: Option<&TraceContext>, ) -> Box<dyn McpRequestInstrumentation>
Instrumentation for one inbound tools/call request.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".