galileo-adk package provides native observability for Google ADK agents. It automatically traces agent runs, LLM calls, and tool executions with minimal setup.
This is the native integration for Google ADK. If you prefer using OpenTelemetry, see the OpenTelemetry-based integration.
Installation
View the package on PyPI for version history and additional details.
Quick start
The simplest way to add Galileo observability to your Google ADK application is using theGalileoADKPlugin. This plugin attaches to the ADK Runner and automatically captures all agent, LLM, and tool events.
- Agent execution spans
- LLM calls with input/output and token usage
- Tool executions with arguments and results
- Error handling and status codes
Configuration
The plugin can be configured via constructor parameters or environment variables:| Parameter | Environment Variable | Description |
|---|---|---|
project | GALILEO_PROJECT | Project name (required unless ingestion_hook provided) |
log_stream | GALILEO_LOG_STREAM | Log stream name (required unless ingestion_hook provided) |
ingestion_hook | - | Custom callback for trace data (bypasses Galileo backend) |
Features
Session tracking
All traces with the same ADKsession_id are automatically grouped into a Galileo session. This enables conversation-level tracking across multiple interactions:
Custom metadata
Attach custom metadata to traces using ADK’s nativeRunConfig.custom_metadata. Metadata is propagated to all spans (agent, LLM, tool) within the invocation:
Callback mode
For granular control over which callbacks to use, you can attach them directly to your agent instead of using the plugin. This is useful when you need to customize behavior for specific agents:Retriever spans
By default, allFunctionTool calls are logged as tool spans. To log a retriever function as a retriever span (enabling RAG quality metrics in Galileo), decorate it with @galileo_retriever:
Custom ingestion hook
For advanced use cases, you can intercept traces for custom processing before forwarding to Galileo. This is useful for:- Custom session management
- Local trace inspection and debugging
- Filtering or enriching trace data
Plugin vs Callback mode
| Feature | GalileoADKPlugin | GalileoADKCallback |
|---|---|---|
| Invocation tracking | Yes | No |
| Multi-agent support | Full | Limited |
| Sub-invocation detection | Yes | No |
| Setup complexity | Lower | Higher |
| Granular control | Lower | Higher |
GalileoADKPlugin for most applications. Use GalileoADKCallback only when you need fine-grained control over individual agent callbacks.