google / google/adk-python

Live Mode is missing usage_metadata and telemetry tracing

オープン
#2,323 コメント 5 件 リアクション 2 件 担当者 1 名 @allen-stephen が担当を希望しています GitHub で見る
live needs review
主要言語
Python
スター
21.5k
フォーク
4k
平均マージ
1日 14時間
マージ済み PR(30日)
37

説明

**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`)

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。