gemini_adk_rs/telemetry/
spans.rs1#[cfg(feature = "tracing-support")]
8pub fn agent_run_span(agent_name: &str, session_id: &str) -> tracing::Span {
9 tracing::info_span!(
10 "gemini.agent.run",
11 agent_name = agent_name,
12 session_id = session_id,
13 )
14}
15
16#[cfg(feature = "tracing-support")]
18pub fn agent_transfer_span(from: &str, to: &str, session_id: &str) -> tracing::Span {
19 tracing::info_span!(
20 "gemini.agent.transfer",
21 from = from,
22 to = to,
23 session_id = session_id,
24 )
25}
26
27#[cfg(feature = "tracing-support")]
29pub fn tool_dispatch_span(tool_name: &str, tool_class: &str, session_id: &str) -> tracing::Span {
30 tracing::info_span!(
31 "gemini.agent.tool_dispatch",
32 tool_name = tool_name,
33 tool_class = tool_class,
34 session_id = session_id,
35 )
36}
37
38#[cfg(feature = "tracing-support")]
40pub fn agent_tool_span(agent_name: &str, parent_agent: &str) -> tracing::Span {
41 tracing::info_span!(
42 "gemini.agent.agent_tool",
43 agent_name = agent_name,
44 parent_agent = parent_agent,
45 )
46}
47
48#[cfg(feature = "tracing-support")]
50pub fn runner_span(root_agent: &str) -> tracing::Span {
51 tracing::info_span!("gemini.agent.runner", root_agent = root_agent)
52}
53
54#[cfg(not(feature = "tracing-support"))]
57pub fn agent_run_span(_: &str, _: &str) {}
58#[cfg(not(feature = "tracing-support"))]
60pub fn agent_transfer_span(_: &str, _: &str, _: &str) {}
61#[cfg(not(feature = "tracing-support"))]
63pub fn tool_dispatch_span(_: &str, _: &str, _: &str) {}
64#[cfg(not(feature = "tracing-support"))]
66pub fn agent_tool_span(_: &str, _: &str) {}
67#[cfg(not(feature = "tracing-support"))]
69pub fn runner_span(_: &str) {}
70
71#[cfg(feature = "tracing-support")]
73pub fn call_llm_span(model_id: &str, agent_name: &str, session_id: &str) -> tracing::Span {
74 tracing::info_span!(
75 "gemini.agent.call_llm",
76 model_id = model_id,
77 agent_name = agent_name,
78 session_id = session_id,
79 )
80}
81
82#[cfg(feature = "tracing-support")]
84pub fn invocation_span(invocation_id: &str, root_agent: &str) -> tracing::Span {
85 tracing::info_span!(
86 "gemini.agent.invocation",
87 invocation_id = invocation_id,
88 root_agent = root_agent,
89 )
90}
91
92#[cfg(feature = "tracing-support")]
94pub fn phase_transition_span(from_phase: &str, to_phase: &str, session_id: &str) -> tracing::Span {
95 tracing::info_span!(
96 "gemini.agent.phase_transition",
97 from_phase = from_phase,
98 to_phase = to_phase,
99 session_id = session_id,
100 )
101}
102
103#[cfg(feature = "tracing-support")]
105pub fn extraction_span(extractor_name: &str, session_id: &str) -> tracing::Span {
106 tracing::info_span!(
107 "gemini.agent.extraction",
108 extractor_name = extractor_name,
109 session_id = session_id,
110 )
111}
112
113#[cfg(not(feature = "tracing-support"))]
116pub fn call_llm_span(_: &str, _: &str, _: &str) {}
117#[cfg(not(feature = "tracing-support"))]
119pub fn invocation_span(_: &str, _: &str) {}
120#[cfg(not(feature = "tracing-support"))]
122pub fn phase_transition_span(_: &str, _: &str, _: &str) {}
123#[cfg(not(feature = "tracing-support"))]
125pub fn extraction_span(_: &str, _: &str) {}