mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-11 08:38:24 +00:00
* feat(lens): consume the independent Lens service and shared UI * fix(lens): keep embedded setup stable and vendor UI before builds * chore(lens): pin embedded UI provenance to published Lens source * fix(lens): complete embedded UI extraction across CI builds * docs(lens): record latest main and removal-boundary validation * fix(lens): wire external chart credentials and ingestion modes * test(lens): cover adapter failures and fix extraction CI * docs(lens): refresh bundled chart setup instructions * test(lens): restore gateway adapter test package marker * build(lens): pin clean-cut UI and supported storage chart * test(ui): await guardrail scope menu before checking options * perf(lens): omit unused trace-team lookup from product requests * docs(lens): record final-image adapter permission checks * test(lens): assert delegated investigation authorization * refactor(lens): remove copied trace runtime and preserve spend logging * test(lens): verify independent gateway image upgrades and outages * test(lens): pin the chart qualification database image * fix(lens): update embedded UI metadata filters * test: wait for Lens chart pod identity convergence * fix(e2e): select Lens chart pods by deployment ownership * fix(e2e): select Helm migration ownership for Lens upgrades * test(lens): retain migration Jobs through rollout assertions * docs(helm): require existing database for migration hooks * test(lens): qualify release boundaries with embedded navigation update * docs(lens): record browser qualification for embedded tabs * fix(lens): remove unrelated CI and guardrail test changes * test(lens): give qualification tenants unique key aliases * feat(lens): embed the latest canonical Lens interface * fix(lens): qualify split inference through the gateway * fix(lens): preserve scoped auth and isolate delegated credentials * chore(lens): remove unrelated documentation and lint changes * fix(lens): bound concurrent forwarding buffers through response delivery * fix(lens): preserve OAuth2 dispatch without inference policies * chore(lens): adopt current shared onboarding UI * fix(lens): refresh shared setup UI and review context * fix(lens): bound uploads before gateway authentication * docs(lens): remove extraction evidence from the gateway repo * docs(lens): refresh shared setup prompt for paired releases
359 lines
12 KiB
JSON
359 lines
12 KiB
JSON
{
|
|
"resourceSpans": [
|
|
{
|
|
"resource": {
|
|
"attributes": [
|
|
{
|
|
"key": "telemetry.sdk.language",
|
|
"value": {
|
|
"stringValue": "python"
|
|
}
|
|
},
|
|
{
|
|
"key": "telemetry.sdk.name",
|
|
"value": {
|
|
"stringValue": "opentelemetry"
|
|
}
|
|
},
|
|
{
|
|
"key": "telemetry.sdk.version",
|
|
"value": {
|
|
"stringValue": "1.45.0"
|
|
}
|
|
},
|
|
{
|
|
"key": "service.instance.id",
|
|
"value": {
|
|
"stringValue": "cef9613f-cfb6-4664-8e51-f3be7d834c7a"
|
|
}
|
|
},
|
|
{
|
|
"key": "telemetry.auto.version",
|
|
"value": {
|
|
"stringValue": "0.66b0"
|
|
}
|
|
},
|
|
{
|
|
"key": "service.name",
|
|
"value": {
|
|
"stringValue": "unknown_service:python3"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"scopeSpans": [
|
|
{
|
|
"scope": {
|
|
"name": "litellm.gateway.client"
|
|
},
|
|
"spans": [
|
|
{
|
|
"traceId": "d59ddcb97fb9bced94931df97e06d02f",
|
|
"spanId": "3d99b5070f22df12",
|
|
"parentSpanId": "3cb702edbce111e7",
|
|
"name": "gateway.request",
|
|
"kind": 3,
|
|
"startTimeUnixNano": "1791061361049433000",
|
|
"endTimeUnixNano": "1791061363567498000",
|
|
"attributes": [
|
|
{
|
|
"key": "litellm.gateway.attempt",
|
|
"value": {
|
|
"boolValue": true
|
|
}
|
|
},
|
|
{
|
|
"key": "http.request.method",
|
|
"value": {
|
|
"stringValue": "POST"
|
|
}
|
|
},
|
|
{
|
|
"key": "url.full",
|
|
"value": {
|
|
"stringValue": "http://localhost:4002/v1/chat/completions"
|
|
}
|
|
},
|
|
{
|
|
"key": "server.address",
|
|
"value": {
|
|
"stringValue": "localhost"
|
|
}
|
|
},
|
|
{
|
|
"key": "http.response.status_code",
|
|
"value": {
|
|
"intValue": "200"
|
|
}
|
|
},
|
|
{
|
|
"key": "litellm.call_id",
|
|
"value": {
|
|
"stringValue": "25cb4dbf-9676-4b83-a427-bb7e3655dcc3"
|
|
}
|
|
}
|
|
],
|
|
"status": {},
|
|
"flags": 256
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"scope": {
|
|
"name": "strands.telemetry.tracer"
|
|
},
|
|
"spans": [
|
|
{
|
|
"traceId": "d59ddcb97fb9bced94931df97e06d02f",
|
|
"spanId": "3cb702edbce111e7",
|
|
"parentSpanId": "af8eeb87690dc466",
|
|
"name": "chat",
|
|
"kind": 1,
|
|
"startTimeUnixNano": "1791061360813404000",
|
|
"endTimeUnixNano": "1791061363567665000",
|
|
"attributes": [
|
|
{
|
|
"key": "gen_ai.event.start_time",
|
|
"value": {
|
|
"stringValue": "2026-10-03T21:02:40.813405+00:00"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.operation.name",
|
|
"value": {
|
|
"stringValue": "chat"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.provider.name",
|
|
"value": {
|
|
"stringValue": "strands-agents"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.request.model",
|
|
"value": {
|
|
"stringValue": "openai/gpt-6-luna"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.input.messages",
|
|
"value": {
|
|
"stringValue": "[{\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"What is an agent trace?\"}]}]"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.output.messages",
|
|
"value": {
|
|
"stringValue": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"An **agent trace** is a record of what an AI agent did during a task, step by step. It may include the agent\u2019s inputs and outputs, tool calls, tool results, timing, and errors.\\n\\nTraces help developers understand, debug, and evaluate an agent\u2019s behavior. They don\u2019t necessarily include the model\u2019s private chain-of-thought; they usually capture observable actions and results.\"}], \"finish_reason\": \"end_turn\"}]"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.event.end_time",
|
|
"value": {
|
|
"stringValue": "2026-10-03T21:02:43.567641+00:00"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.prompt_tokens",
|
|
"value": {
|
|
"intValue": "109"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.input_tokens",
|
|
"value": {
|
|
"intValue": "109"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.completion_tokens",
|
|
"value": {
|
|
"intValue": "158"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.output_tokens",
|
|
"value": {
|
|
"intValue": "158"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.total_tokens",
|
|
"value": {
|
|
"intValue": "267"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.server.time_to_first_token",
|
|
"value": {
|
|
"intValue": "1886"
|
|
}
|
|
}
|
|
],
|
|
"status": {
|
|
"code": 1
|
|
},
|
|
"flags": 256
|
|
},
|
|
{
|
|
"traceId": "d59ddcb97fb9bced94931df97e06d02f",
|
|
"spanId": "af8eeb87690dc466",
|
|
"parentSpanId": "14de27d8d8573810",
|
|
"name": "execute_event_loop_cycle",
|
|
"kind": 1,
|
|
"startTimeUnixNano": "1791061360813321000",
|
|
"endTimeUnixNano": "1791061363567872000",
|
|
"attributes": [
|
|
{
|
|
"key": "gen_ai.event.start_time",
|
|
"value": {
|
|
"stringValue": "2026-10-03T21:02:40.813323+00:00"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.operation.name",
|
|
"value": {
|
|
"stringValue": "execute_event_loop_cycle"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.provider.name",
|
|
"value": {
|
|
"stringValue": "strands-agents"
|
|
}
|
|
},
|
|
{
|
|
"key": "event_loop.cycle_id",
|
|
"value": {
|
|
"stringValue": "000ad6d9-df30-4bf3-9884-3af13de6c1fc"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.input.messages",
|
|
"value": {
|
|
"stringValue": "[{\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"What is an agent trace?\"}]}]"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.event.end_time",
|
|
"value": {
|
|
"stringValue": "2026-10-03T21:02:43.567865+00:00"
|
|
}
|
|
}
|
|
],
|
|
"status": {
|
|
"code": 1
|
|
},
|
|
"flags": 256
|
|
},
|
|
{
|
|
"traceId": "d59ddcb97fb9bced94931df97e06d02f",
|
|
"spanId": "14de27d8d8573810",
|
|
"name": "invoke_agent research_agent",
|
|
"kind": 1,
|
|
"startTimeUnixNano": "1791061360812989000",
|
|
"endTimeUnixNano": "1791061363567984000",
|
|
"attributes": [
|
|
{
|
|
"key": "gen_ai.event.start_time",
|
|
"value": {
|
|
"stringValue": "2026-10-03T21:02:40.812995+00:00"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.operation.name",
|
|
"value": {
|
|
"stringValue": "invoke_agent"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.provider.name",
|
|
"value": {
|
|
"stringValue": "strands-agents"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.agent.name",
|
|
"value": {
|
|
"stringValue": "research_agent"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.request.model",
|
|
"value": {
|
|
"stringValue": "openai/gpt-6-luna"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.input.messages",
|
|
"value": {
|
|
"stringValue": "[{\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"What is an agent trace?\"}]}]"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.output.messages",
|
|
"value": {
|
|
"stringValue": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"An **agent trace** is a record of what an AI agent did during a task, step by step. It may include the agent\u2019s inputs and outputs, tool calls, tool results, timing, and errors.\\n\\nTraces help developers understand, debug, and evaluate an agent\u2019s behavior. They don\u2019t necessarily include the model\u2019s private chain-of-thought; they usually capture observable actions and results.\\n\"}], \"finish_reason\": \"end_turn\"}]"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.event.end_time",
|
|
"value": {
|
|
"stringValue": "2026-10-03T21:02:43.567976+00:00"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.prompt_tokens",
|
|
"value": {
|
|
"intValue": "109"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.completion_tokens",
|
|
"value": {
|
|
"intValue": "158"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.input_tokens",
|
|
"value": {
|
|
"intValue": "109"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.output_tokens",
|
|
"value": {
|
|
"intValue": "158"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.total_tokens",
|
|
"value": {
|
|
"intValue": "267"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.cache_read.input_tokens",
|
|
"value": {
|
|
"intValue": "0"
|
|
}
|
|
},
|
|
{
|
|
"key": "gen_ai.usage.cache_creation.input_tokens",
|
|
"value": {
|
|
"intValue": "0"
|
|
}
|
|
}
|
|
],
|
|
"status": {
|
|
"code": 1
|
|
},
|
|
"flags": 256
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|