gemini_adk_rs/telemetry/
spans.rs1pub fn agent_run_span(agent_name: &str, session_id: &str) -> tracing::Span {
7 tracing::info_span!(
8 "gemini.agent.run",
9 agent_name = agent_name,
10 session_id = session_id,
11 )
12}
13
14pub fn agent_transfer_span(from: &str, to: &str, session_id: &str) -> tracing::Span {
16 tracing::info_span!(
17 "gemini.agent.transfer",
18 from = from,
19 to = to,
20 session_id = session_id,
21 )
22}
23
24pub fn tool_dispatch_span(tool_name: &str, tool_class: &str, session_id: &str) -> tracing::Span {
26 tracing::info_span!(
27 "gemini.agent.tool_dispatch",
28 tool_name = tool_name,
29 tool_class = tool_class,
30 session_id = session_id,
31 )
32}
33
34pub fn agent_tool_span(agent_name: &str, parent_agent: &str) -> tracing::Span {
36 tracing::info_span!(
37 "gemini.agent.agent_tool",
38 agent_name = agent_name,
39 parent_agent = parent_agent,
40 )
41}
42
43pub fn runner_span(root_agent: &str) -> tracing::Span {
45 tracing::info_span!("gemini.agent.runner", root_agent = root_agent)
46}
47
48pub fn call_llm_span(model_id: &str, agent_name: &str, session_id: &str) -> tracing::Span {
50 tracing::info_span!(
51 "gemini.agent.call_llm",
52 model_id = model_id,
53 agent_name = agent_name,
54 session_id = session_id,
55 )
56}
57
58pub fn invocation_span(invocation_id: &str, root_agent: &str) -> tracing::Span {
60 tracing::info_span!(
61 "gemini.agent.invocation",
62 invocation_id = invocation_id,
63 root_agent = root_agent,
64 )
65}
66
67pub fn phase_transition_span(from_phase: &str, to_phase: &str, session_id: &str) -> tracing::Span {
69 tracing::info_span!(
70 "gemini.agent.phase_transition",
71 from_phase = from_phase,
72 to_phase = to_phase,
73 session_id = session_id,
74 )
75}
76
77pub fn extraction_span(extractor_name: &str, session_id: &str) -> tracing::Span {
79 tracing::info_span!(
80 "gemini.agent.extraction",
81 extractor_name = extractor_name,
82 session_id = session_id,
83 )
84}