Skip to content

Commit 1e45596

Browse files
wconti27sabrenner
andauthored
feat(tracing): add support for google agentic development kit (adk) (#14588)
Adds support for APM tracing and LLM Observability for the google-adk library. ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting) --------- Co-authored-by: Sam Brenner <[email protected]>
1 parent e239ca4 commit 1e45596

39 files changed

+3122
-206
lines changed

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ ddtrace/contrib/internal/botocore/services/bedrock.py @DataDog/ml-observ
144144
ddtrace/contrib/internal/botocore/services/bedrock_agents.py @DataDog/ml-observability
145145
ddtrace/contrib/botocore/services/bedrock.py @DataDog/ml-observability
146146
ddtrace/contrib/internal/anthropic @DataDog/ml-observability
147+
ddtrace/contrib/internal/google_adk @DataDog/ml-observability
147148
ddtrace/contrib/internal/google_generativeai @DataDog/ml-observability
148149
ddtrace/contrib/internal/google_genai @DataDog/ml-observability
149150
ddtrace/contrib/internal/vertexai @DataDog/ml-observability
@@ -164,6 +165,7 @@ tests/contrib/botocore/test_bedrock_agents_llmobs.py @DataDog/ml-observ
164165
tests/contrib/botocore/bedrock_utils.py @DataDog/ml-observability
165166
tests/contrib/botocore/bedrock_cassettes @DataDog/ml-observability
166167
tests/contrib/anthropic @DataDog/ml-observability
168+
tests/contrib/google_adk @DataDog/ml-observability
167169
tests/contrib/google_generativeai @DataDog/ml-observability
168170
tests/contrib/google_genai @DataDog/ml-observability
169171
tests/contrib/vertexai @DataDog/ml-observability
@@ -182,6 +184,7 @@ tests/snapshots/tests.contrib.openai.* @DataDog/ml-observ
182184
tests/snapshots/tests.contrib.vertexai.* @DataDog/ml-observability
183185
tests/snapshots/tests.contrib.botocore.test_bedrock_agents.* @DataDog/ml-observability
184186
tests/snapshots/tests.contrib.botocore.test_bedrock.* @DataDog/ml-observability
187+
tests/snapshots/tests.contrib.google_adk.* @DataDog/ml-observability
185188
tests/snapshots/tests.contrib.google_generativeai.* @DataDog/ml-observability
186189
tests/snapshots/tests.contrib.langgraph.* @DataDog/ml-observability
187190
tests/snapshots/tests.contrib.crewai.* @DataDog/ml-observability

.riot/requirements/1227878.txt

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/1227878.in
6+
#
7+
absolufy-imports==0.3.1
8+
alembic==1.16.5
9+
annotated-types==0.7.0
10+
anyio==4.10.0
11+
attrs==25.3.0
12+
authlib==1.6.3
13+
cachetools==5.5.2
14+
certifi==2025.8.3
15+
cffi==2.0.0
16+
charset-normalizer==3.4.3
17+
click==8.2.1
18+
cloudpickle==3.1.1
19+
coverage[toml]==7.10.6
20+
cryptography==45.0.7
21+
deprecated==1.2.18
22+
docstring-parser==0.17.0
23+
fastapi==0.116.1
24+
google-adk==1.14.1
25+
google-api-core[grpc]==2.25.1
26+
google-api-python-client==2.181.0
27+
google-auth==2.40.3
28+
google-auth-httplib2==0.2.0
29+
google-cloud-aiplatform[agent-engines]==1.113.0
30+
google-cloud-appengine-logging==1.6.2
31+
google-cloud-audit-log==0.3.2
32+
google-cloud-bigquery==3.37.0
33+
google-cloud-bigtable==2.32.0
34+
google-cloud-core==2.4.3
35+
google-cloud-logging==3.12.1
36+
google-cloud-resource-manager==1.14.2
37+
google-cloud-secret-manager==2.24.0
38+
google-cloud-spanner==3.57.0
39+
google-cloud-speech==2.33.0
40+
google-cloud-storage==2.19.0
41+
google-cloud-trace==1.16.2
42+
google-crc32c==1.7.1
43+
google-genai==1.36.0
44+
google-resumable-media==2.7.2
45+
googleapis-common-protos[grpc]==1.70.0
46+
graphviz==0.21
47+
greenlet==3.2.4
48+
grpc-google-iam-v1==0.14.2
49+
grpc-interceptor==0.15.4
50+
grpcio==1.74.0
51+
grpcio-status==1.74.0
52+
h11==0.16.0
53+
httpcore==1.0.9
54+
httplib2==0.31.0
55+
httpx==0.28.1
56+
httpx-sse==0.4.1
57+
hypothesis==6.45.0
58+
idna==3.10
59+
importlib-metadata==8.7.0
60+
iniconfig==2.1.0
61+
jsonschema==4.25.1
62+
jsonschema-specifications==2025.9.1
63+
mako==1.3.10
64+
markupsafe==3.0.2
65+
mcp==1.14.0
66+
mock==5.2.0
67+
multidict==6.6.4
68+
numpy==2.3.3
69+
opentelemetry-api==1.37.0
70+
opentelemetry-exporter-gcp-trace==1.9.0
71+
opentelemetry-resourcedetector-gcp==1.9.0a0
72+
opentelemetry-sdk==1.37.0
73+
opentelemetry-semantic-conventions==0.58b0
74+
opentracing==2.4.0
75+
packaging==25.0
76+
pluggy==1.6.0
77+
propcache==0.3.2
78+
proto-plus==1.26.1
79+
protobuf==6.32.1
80+
pyasn1==0.6.1
81+
pyasn1-modules==0.4.2
82+
pycparser==2.23
83+
pydantic==2.11.9
84+
pydantic-core==2.33.2
85+
pydantic-settings==2.10.1
86+
pygments==2.19.2
87+
pyparsing==3.2.4
88+
pytest==8.4.2
89+
pytest-asyncio==1.2.0
90+
pytest-cov==7.0.0
91+
pytest-mock==3.15.0
92+
python-dateutil==2.9.0.post0
93+
python-dotenv==1.1.1
94+
python-multipart==0.0.20
95+
pyyaml==6.0.2
96+
referencing==0.36.2
97+
requests==2.32.5
98+
rpds-py==0.27.1
99+
rsa==4.9.1
100+
shapely==2.1.1
101+
six==1.17.0
102+
sniffio==1.3.1
103+
sortedcontainers==2.4.0
104+
sqlalchemy==2.0.43
105+
sqlalchemy-spanner==1.16.0
106+
sqlparse==0.5.3
107+
sse-starlette==3.0.2
108+
starlette==0.47.3
109+
tenacity==8.5.0
110+
typing-extensions==4.15.0
111+
typing-inspection==0.4.1
112+
tzlocal==5.3.1
113+
uritemplate==4.2.0
114+
urllib3==2.5.0
115+
uvicorn==0.35.0
116+
vcrpy==7.0.0
117+
watchdog==6.0.0
118+
websockets==15.0.1
119+
wrapt==1.17.3
120+
yarl==1.20.1
121+
zipp==3.23.0

.riot/requirements/18d669b.txt

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.13
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/18d669b.in
6+
#
7+
annotated-types==0.7.0
8+
anyio==4.10.0
9+
attrs==25.3.0
10+
authlib==1.6.4
11+
cachetools==5.5.2
12+
certifi==2025.8.3
13+
cffi==2.0.0
14+
charset-normalizer==3.4.3
15+
click==8.2.1
16+
coverage[toml]==7.10.6
17+
cryptography==46.0.1
18+
deprecated==1.2.18
19+
docstring-parser==0.17.0
20+
fastapi==0.116.2
21+
google-adk==1.0.0
22+
google-api-core[grpc]==2.25.1
23+
google-api-python-client==2.182.0
24+
google-auth==2.40.3
25+
google-auth-httplib2==0.2.0
26+
google-cloud-aiplatform==1.114.0
27+
google-cloud-bigquery==3.37.0
28+
google-cloud-core==2.4.3
29+
google-cloud-resource-manager==1.14.2
30+
google-cloud-secret-manager==2.24.0
31+
google-cloud-speech==2.33.0
32+
google-cloud-storage==2.19.0
33+
google-cloud-trace==1.16.2
34+
google-crc32c==1.7.1
35+
google-genai==1.38.0
36+
google-resumable-media==2.7.2
37+
googleapis-common-protos[grpc]==1.70.0
38+
graphviz==0.21
39+
grpc-google-iam-v1==0.14.2
40+
grpcio==1.75.0
41+
grpcio-status==1.75.0
42+
h11==0.16.0
43+
httpcore==1.0.9
44+
httplib2==0.31.0
45+
httpx==0.28.1
46+
httpx-sse==0.4.1
47+
hypothesis==6.45.0
48+
idna==3.10
49+
importlib-metadata==8.7.0
50+
iniconfig==2.1.0
51+
jsonschema==4.25.1
52+
jsonschema-specifications==2025.9.1
53+
mcp==1.14.0
54+
mock==5.2.0
55+
multidict==6.6.4
56+
numpy==2.3.3
57+
opentelemetry-api==1.37.0
58+
opentelemetry-exporter-gcp-trace==1.9.0
59+
opentelemetry-resourcedetector-gcp==1.9.0a0
60+
opentelemetry-sdk==1.37.0
61+
opentelemetry-semantic-conventions==0.58b0
62+
opentracing==2.4.0
63+
packaging==25.0
64+
pluggy==1.6.0
65+
propcache==0.3.2
66+
proto-plus==1.26.1
67+
protobuf==6.32.1
68+
pyasn1==0.6.1
69+
pyasn1-modules==0.4.2
70+
pycparser==2.23
71+
pydantic==2.11.9
72+
pydantic-core==2.33.2
73+
pydantic-settings==2.10.1
74+
pygments==2.19.2
75+
pyparsing==3.2.4
76+
pytest==8.4.2
77+
pytest-asyncio==1.2.0
78+
pytest-cov==7.0.0
79+
pytest-mock==3.15.1
80+
python-dateutil==2.9.0.post0
81+
python-dotenv==1.1.1
82+
python-multipart==0.0.20
83+
pyyaml==6.0.2
84+
referencing==0.36.2
85+
requests==2.32.5
86+
rpds-py==0.27.1
87+
rsa==4.9.1
88+
shapely==2.1.1
89+
six==1.17.0
90+
sniffio==1.3.1
91+
sortedcontainers==2.4.0
92+
sqlalchemy==2.0.43
93+
sse-starlette==3.0.2
94+
starlette==0.48.0
95+
tenacity==9.1.2
96+
typing-extensions==4.15.0
97+
typing-inspection==0.4.1
98+
tzlocal==5.3.1
99+
uritemplate==4.2.0
100+
urllib3==2.5.0
101+
uvicorn==0.35.0
102+
vcrpy==7.0.0
103+
websockets==15.0.1
104+
wrapt==1.17.3
105+
yarl==1.20.1
106+
zipp==3.23.0

.riot/requirements/1995aee.txt

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.10
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/1995aee.in
6+
#
7+
annotated-types==0.7.0
8+
anyio==4.10.0
9+
attrs==25.3.0
10+
authlib==1.6.4
11+
backports-asyncio-runner==1.2.0
12+
cachetools==5.5.2
13+
certifi==2025.8.3
14+
cffi==2.0.0
15+
charset-normalizer==3.4.3
16+
click==8.2.1
17+
coverage[toml]==7.10.6
18+
cryptography==46.0.1
19+
deprecated==1.2.18
20+
docstring-parser==0.17.0
21+
exceptiongroup==1.3.0
22+
fastapi==0.116.2
23+
google-adk==1.0.0
24+
google-api-core[grpc]==2.25.1
25+
google-api-python-client==2.182.0
26+
google-auth==2.40.3
27+
google-auth-httplib2==0.2.0
28+
google-cloud-aiplatform==1.114.0
29+
google-cloud-bigquery==3.37.0
30+
google-cloud-core==2.4.3
31+
google-cloud-resource-manager==1.14.2
32+
google-cloud-secret-manager==2.24.0
33+
google-cloud-speech==2.33.0
34+
google-cloud-storage==2.19.0
35+
google-cloud-trace==1.16.2
36+
google-crc32c==1.7.1
37+
google-genai==1.38.0
38+
google-resumable-media==2.7.2
39+
googleapis-common-protos[grpc]==1.70.0
40+
graphviz==0.21
41+
grpc-google-iam-v1==0.14.2
42+
grpcio==1.75.0
43+
grpcio-status==1.75.0
44+
h11==0.16.0
45+
httpcore==1.0.9
46+
httplib2==0.31.0
47+
httpx==0.28.1
48+
httpx-sse==0.4.1
49+
hypothesis==6.45.0
50+
idna==3.10
51+
importlib-metadata==8.7.0
52+
iniconfig==2.1.0
53+
jsonschema==4.25.1
54+
jsonschema-specifications==2025.9.1
55+
mcp==1.14.0
56+
mock==5.2.0
57+
multidict==6.6.4
58+
numpy==2.2.6
59+
opentelemetry-api==1.37.0
60+
opentelemetry-exporter-gcp-trace==1.9.0
61+
opentelemetry-resourcedetector-gcp==1.9.0a0
62+
opentelemetry-sdk==1.37.0
63+
opentelemetry-semantic-conventions==0.58b0
64+
opentracing==2.4.0
65+
packaging==25.0
66+
pluggy==1.6.0
67+
propcache==0.3.2
68+
proto-plus==1.26.1
69+
protobuf==6.32.1
70+
pyasn1==0.6.1
71+
pyasn1-modules==0.4.2
72+
pycparser==2.23
73+
pydantic==2.11.9
74+
pydantic-core==2.33.2
75+
pydantic-settings==2.10.1
76+
pygments==2.19.2
77+
pyparsing==3.2.4
78+
pytest==8.4.2
79+
pytest-asyncio==1.2.0
80+
pytest-cov==7.0.0
81+
pytest-mock==3.15.1
82+
python-dateutil==2.9.0.post0
83+
python-dotenv==1.1.1
84+
python-multipart==0.0.20
85+
pyyaml==6.0.2
86+
referencing==0.36.2
87+
requests==2.32.5
88+
rpds-py==0.27.1
89+
rsa==4.9.1
90+
shapely==2.1.1
91+
six==1.17.0
92+
sniffio==1.3.1
93+
sortedcontainers==2.4.0
94+
sqlalchemy==2.0.43
95+
sse-starlette==3.0.2
96+
starlette==0.48.0
97+
tenacity==9.1.2
98+
tomli==2.2.1
99+
typing-extensions==4.15.0
100+
typing-inspection==0.4.1
101+
tzlocal==5.3.1
102+
uritemplate==4.2.0
103+
urllib3==2.5.0
104+
uvicorn==0.35.0
105+
vcrpy==7.0.0
106+
websockets==15.0.1
107+
wrapt==1.17.3
108+
yarl==1.20.1
109+
zipp==3.23.0

0 commit comments

Comments
 (0)