Skip to main content
The 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.
Requirements: Python 3.10+, a Galileo API key, and a Google AI API key

Quick start

The simplest way to add Galileo observability to your Google ADK application is using the GalileoADKPlugin. This plugin attaches to the ADK Runner and automatically captures all agent, LLM, and tool events.
Once the plugin is configured, all agent runs are automatically logged to Galileo, including:
  • 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:

Features

Session tracking

All traces with the same ADK session_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 native RunConfig.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, all FunctionTool 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:
This enables RAG-specific metrics like chunk attribution and context relevance to be calculated for your retrieval operations.

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

Recommendation: Use GalileoADKPlugin for most applications. Use GalileoADKCallback only when you need fine-grained control over individual agent callbacks.

Next steps

Galileo logger

Log with full control over sessions, traces, and spans using the Galileo logger.

OpenTelemetry integration

Use OpenTelemetry for Google ADK observability.

RAG metrics

Learn about RAG quality metrics for retriever spans.

Sessions

Learn how sessions group related traces together.