google / google/adk-python

Live Mode is missing usage_metadata and telemetry tracing

Aperta
#2,323 5 commenti 2 reazioni 1 assegnatario Rivendicata da @allen-stephen Vedi su GitHub
live needs review
Lingua principale
Python
Stelle
21.5k
Fork
4k
Merge medio
1g 14h
PR unite (30g)
37

Descrizione

**Describe the bug**
When using ADK with Gemini Live API, the `usage_metadata` field is always `None` in Event objects, making it impossible to track token usage for cost monitoring and observability. Additionally, telemetry tracing doesn't work properly for live events, with token usage data being lost instead of creating individual spans for each event.

**To Reproduce**
Steps to reproduce the behavior:
1. Install `google-adk`
2. Create a voice agent using `gemini-live-2.5-flash` model:
```python
from google.adk.agents import Agent
agent = Agent(
name="voice_assistant_agent",
model="gemini-live-2.5-flash", # or any other live model
tools=[some_tool]
)
```
3. Run the agent and process live events:
```python
async for event in live_events:
print(f"Usage metadata: {event.usage_metadata}") # Always None
```
4. CheckOpenTelemetry traces for token usage
5. Observe that token usage is not tracked in telemetry spans

**Expected behavior**
- `event.usage_metadata` should contain actual token usage data from the Gemini Live API response
- Each live event should create a separate OpenTelemetry span with token usage metrics (`gen_ai.usage.input_tokens`, `gen_ai.usage.output_tokens`, `gen_ai.usage.total_tokens`)

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.