Fiddler SDK for Google ADK (Agent Development Kit) instrumentation with OpenTelemetry
Project description
fiddler-adk
Fiddler SDK for instrumenting Google ADK (Agent Development Kit) with OpenTelemetry.
This package lives in the fiddler-sdk monorepo under packages/integrations/fiddler-adk/. It depends on fiddler-otel for the OTel pipeline, span attributes, and span processing.
Install
pip install fiddler-adk
Usage
from fiddler_otel import FiddlerClient
from fiddler_adk import GoogleADKInstrumentor
client = FiddlerClient(
api_key='YOUR_API_KEY',
application_id='YOUR_APPLICATION_ID', # UUID4 from the Fiddler GenAI Applications page
url='https://your-instance.fiddler.ai',
)
GoogleADKInstrumentor(client).instrument()
# Build and run ADK agents as usual — traces flow to Fiddler automatically.
How it works
Google ADK emits OpenTelemetry spans natively (invoke_agent, call_llm,
execute_tool, ...) through a tracer that resolves against the global
tracer provider. GoogleADKInstrumentor.instrument():
- Sets up an isolated Fiddler tracing pipeline. Uses
FiddlerClientto initialise a dedicated tracer, provider, processor, and OTLP exporter. The client's provider is promoted to global so ADK'sgcp.vertex.agenttracer resolves to it. The SDK operates in standalone mode — it does not interact with customer-configured tracers or providers. - Propagates session identity. ADK sets
gen_ai.conversation.idon child spans (invoke_agent,call_llm, etc.) but not on the parentinvocationroot span. TheADKSpanProcessorbackfills it to the root so the Fiddler UI can group all spans in a turn under the same session.
Span-type classification, content extraction (LLM input/output, tool I/O, system instructions), and attribute normalization are handled by the Fiddler backend — the SDK does not parse or transform ADK's content attributes.
Supported versions
google-adk >= 1.34.2opentelemetry-api >= 1.37.0- Python 3.10+
Content capture
ADK includes full LLM request/response payloads in span attributes by default.
Set ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS=false to disable ADK's payload
capture if your prompts may contain PII.
See examples/ in this directory for a runnable agent.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fiddler_adk-1.0.1.tar.gz.
File metadata
- Download URL: fiddler_adk-1.0.1.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47263ceef4bdafbb0a60c6b51aa7a0d473dd41032de0d74b5bd03275864974af
|
|
| MD5 |
760c1d2a1cb9e1bde198d631327b9fd4
|
|
| BLAKE2b-256 |
a75a667537c78c053d7ef5628b529decf32313849fef41c1435ddbddd78942b4
|
Provenance
The following attestation bundles were made for fiddler_adk-1.0.1.tar.gz:
Publisher:
publish.yml on fiddler-labs/fiddler-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fiddler_adk-1.0.1.tar.gz -
Subject digest:
47263ceef4bdafbb0a60c6b51aa7a0d473dd41032de0d74b5bd03275864974af - Sigstore transparency entry: 1850646558
- Sigstore integration time:
-
Permalink:
fiddler-labs/fiddler-sdk@4bd2ee2d4ea93516b708c37c069e4212b7b36612 -
Branch / Tag:
refs/tags/fiddler-adk/v1.0.1 - Owner: https://github.com/fiddler-labs
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
self-hosted -
Publication workflow:
publish.yml@4bd2ee2d4ea93516b708c37c069e4212b7b36612 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file fiddler_adk-1.0.1-py3-none-any.whl.
File metadata
- Download URL: fiddler_adk-1.0.1-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0f6fdb45541b0f56be101e9cf648f11d6990c2703bb239bbdf229a832a03761
|
|
| MD5 |
c98dd78c9d489894fc8fd30e429ad3b5
|
|
| BLAKE2b-256 |
4943707bb78b0db4ccf523295dbfe917f71e0ce1c07c91ef916e21f7f09a8e43
|
Provenance
The following attestation bundles were made for fiddler_adk-1.0.1-py3-none-any.whl:
Publisher:
publish.yml on fiddler-labs/fiddler-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fiddler_adk-1.0.1-py3-none-any.whl -
Subject digest:
b0f6fdb45541b0f56be101e9cf648f11d6990c2703bb239bbdf229a832a03761 - Sigstore transparency entry: 1850646859
- Sigstore integration time:
-
Permalink:
fiddler-labs/fiddler-sdk@4bd2ee2d4ea93516b708c37c069e4212b7b36612 -
Branch / Tag:
refs/tags/fiddler-adk/v1.0.1 - Owner: https://github.com/fiddler-labs
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
self-hosted -
Publication workflow:
publish.yml@4bd2ee2d4ea93516b708c37c069e4212b7b36612 -
Trigger Event:
workflow_dispatch
-
Statement type: