Get session traces
curl --request GET \
--url http://localhost:8000/dev/apps/{app_name}/debug/trace/session/{session_id}import requests
url = "http://localhost:8000/dev/apps/{app_name}/debug/trace/session/{session_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:8000/dev/apps/{app_name}/debug/trace/session/{session_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"name": "<string>",
"span_id": 123,
"trace_id": 123,
"start_time": 123,
"end_time": 123,
"attributes": {},
"parent_span_id": 123
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Debugging · development server
Get session traces
Return trace spans for the session, or an empty array when none exist; start and end times are in nanoseconds
Available only with the development UI enabled, such as veadk web or adk api_server --with_ui; the default adk api_server does not expose this endpoint
GET
/
dev
/
apps
/
{app_name}
/
debug
/
trace
/
session
/
{session_id}
Get session traces
curl --request GET \
--url http://localhost:8000/dev/apps/{app_name}/debug/trace/session/{session_id}import requests
url = "http://localhost:8000/dev/apps/{app_name}/debug/trace/session/{session_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:8000/dev/apps/{app_name}/debug/trace/session/{session_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"name": "<string>",
"span_id": 123,
"trace_id": 123,
"start_time": 123,
"end_time": 123,
"attributes": {},
"parent_span_id": 123
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Last modified on September 19, 2026