litellm/scripts/lens_assets/fixtures/traces/langgraph_simple.json
moe-berri 22ad3c5fff
refactor(lens): connect LiteLLM to the independent Lens service (#45529)
* 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
2026-10-09 16:17:05 -07:00

322 lines
18 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": "5ae85caa-bb64-4218-94f6-0066f5d01eba"
}
},
{
"key": "telemetry.auto.version",
"value": {
"stringValue": "0.66b0"
}
},
{
"key": "service.name",
"value": {
"stringValue": "unknown_service:python3"
}
}
]
},
"scopeSpans": [
{
"scope": {
"name": "openinference.instrumentation.langchain",
"version": "0.1.78"
},
"spans": [
{
"traceId": "a2b7bdfc7ce2168e05f7298ee11ca7d3",
"spanId": "be5e5e817f6a71a5",
"parentSpanId": "91fbc8f8c9a10da7",
"name": "ChatOpenAI",
"kind": 1,
"startTimeUnixNano": "1791061316831124992",
"endTimeUnixNano": "1791061320049913856",
"attributes": [
{
"key": "input.value",
"value": {
"stringValue": "{\"messages\": [[{\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"HumanMessage\"], \"kwargs\": {\"content\": \"What is an agent trace?\", \"type\": \"human\", \"id\": \"2a09435d-ae05-4259-9d4a-5a788d07464d\"}}]]}"
}
},
{
"key": "input.mime_type",
"value": {
"stringValue": "application/json"
}
},
{
"key": "output.value",
"value": {
"stringValue": "{\"generations\": [[{\"text\": \"An **agent trace** is a record of what an AI agent did during a task, step by step. It commonly includes the agent\u2019s inputs and outputs, tool calls and their results, and timing or errors.\\n\\nFor example, a trace might show: *user asks a question \u2192 agent searches the web \u2192 receives results \u2192 summarizes them.*\\n\\nTraces help people debug, evaluate, and audit an agent. They usually capture observable actions\u2014not necessarily the model\u2019s private internal reasoning.\", \"generation_info\": {\"finish_reason\": \"stop\", \"logprobs\": null}, \"type\": \"ChatGeneration\", \"message\": {\"lc\": 1, \"type\": \"constructor\", \"id\": [\"langchain\", \"schema\", \"messages\", \"AIMessage\"], \"kwargs\": {\"content\": \"An **agent trace** is a record of what an AI agent did during a task, step by step. It commonly includes the agent\u2019s inputs and outputs, tool calls and their results, and timing or errors.\\n\\nFor example, a trace might show: *user asks a question \u2192 agent searches the web \u2192 receives results \u2192 summarizes them.*\\n\\nTraces help people debug, evaluate, and audit an agent. They usually capture observable actions\u2014not necessarily the model\u2019s private internal reasoning.\", \"additional_kwargs\": {\"refusal\": null}, \"response_metadata\": {\"token_usage\": {\"completion_tokens\": 187, \"prompt_tokens\": 12, \"total_tokens\": 199, \"completion_tokens_details\": {\"accepted_prediction_tokens\": 0, \"audio_tokens\": 0, \"reasoning_tokens\": 83, \"rejected_prediction_tokens\": 0, \"text_tokens\": null}, \"prompt_tokens_details\": {\"audio_tokens\": 0, \"cache_write_tokens\": 0, \"cached_tokens\": 0, \"image_tokens\": null, \"text_tokens\": null, \"cache_creation_tokens\": 0}}, \"model_provider\": \"openai\", \"model_name\": \"openai/gpt-6-luna\", \"system_fingerprint\": null, \"id\": \"chatcmpl-EV19hpMRm3ctM96rCV2Noc7Dp5Wcm\", \"service_tier\": \"default\", \"finish_reason\": \"stop\", \"logprobs\": null}, \"type\": \"ai\", \"id\": \"lc_run--01a10392-d4df-72b2-aa09-53e30f1c2e3c-0\", \"usage_metadata\": {\"input_tokens\": 12, \"output_tokens\": 187, \"total_tokens\": 199, \"input_token_details\": {\"audio\": 0, \"cache_read\": 0, \"cache_creation\": 0}, \"output_token_details\": {\"audio\": 0, \"reasoning\": 83}}, \"tool_calls\": [], \"invalid_tool_calls\": []}}}]], \"llm_output\": {\"token_usage\": {\"completion_tokens\": 187, \"prompt_tokens\": 12, \"total_tokens\": 199, \"completion_tokens_details\": {\"accepted_prediction_tokens\": 0, \"audio_tokens\": 0, \"reasoning_tokens\": 83, \"rejected_prediction_tokens\": 0, \"text_tokens\": null}, \"prompt_tokens_details\": {\"audio_tokens\": 0, \"cache_write_tokens\": 0, \"cached_tokens\": 0, \"image_tokens\": null, \"text_tokens\": null, \"cache_creation_tokens\": 0}}, \"model_provider\": \"openai\", \"model_name\": \"openai/gpt-6-luna\", \"system_fingerprint\": null, \"id\": \"chatcmpl-EV19hpMRm3ctM96rCV2Noc7Dp5Wcm\", \"service_tier\": \"default\"}, \"run\": null, \"type\": \"LLMResult\"}"
}
},
{
"key": "output.mime_type",
"value": {
"stringValue": "application/json"
}
},
{
"key": "llm.input_messages.0.message.role",
"value": {
"stringValue": "user"
}
},
{
"key": "llm.input_messages.0.message.content",
"value": {
"stringValue": "What is an agent trace?"
}
},
{
"key": "llm.output_messages.0.message.role",
"value": {
"stringValue": "assistant"
}
},
{
"key": "llm.output_messages.0.message.content",
"value": {
"stringValue": "An **agent trace** is a record of what an AI agent did during a task, step by step. It commonly includes the agent\u2019s inputs and outputs, tool calls and their results, and timing or errors.\n\nFor example, a trace might show: *user asks a question \u2192 agent searches the web \u2192 receives results \u2192 summarizes them.*\n\nTraces help people debug, evaluate, and audit an agent. They usually capture observable actions\u2014not necessarily the model\u2019s private internal reasoning."
}
},
{
"key": "llm.invocation_parameters",
"value": {
"stringValue": "{\"model\": \"openai/gpt-6-luna\", \"model_name\": \"openai/gpt-6-luna\", \"stream\": false, \"_type\": \"openai-chat\", \"stop\": null}"
}
},
{
"key": "llm.provider",
"value": {
"stringValue": "openai"
}
},
{
"key": "llm.system",
"value": {
"stringValue": "openai"
}
},
{
"key": "llm.model_name",
"value": {
"stringValue": "openai/gpt-6-luna"
}
},
{
"key": "llm.token_count.prompt",
"value": {
"intValue": "12"
}
},
{
"key": "llm.token_count.completion",
"value": {
"intValue": "187"
}
},
{
"key": "llm.token_count.total",
"value": {
"intValue": "199"
}
},
{
"key": "llm.token_count.completion_details.audio",
"value": {
"intValue": "0"
}
},
{
"key": "llm.token_count.completion_details.reasoning",
"value": {
"intValue": "83"
}
},
{
"key": "llm.token_count.prompt_details.audio",
"value": {
"intValue": "0"
}
},
{
"key": "llm.token_count.prompt_details.cache_read",
"value": {
"intValue": "0"
}
},
{
"key": "llm.finish_reason",
"value": {
"stringValue": "stop"
}
},
{
"key": "metadata",
"value": {
"stringValue": "{\"ls_integration\": \"langchain_chat_model\", \"langgraph_step\": 1, \"langgraph_node\": \"call_model\", \"langgraph_triggers\": [\"branch:to:call_model\"], \"langgraph_path\": [\"__pregel_pull\", \"call_model\"], \"langgraph_checkpoint_ns\": \"call_model:4756011d-1080-f746-eefc-23cf69bce566\", \"checkpoint_ns\": \"call_model:4756011d-1080-f746-eefc-23cf69bce566\", \"ls_provider\": \"openai\", \"ls_model_name\": \"openai/gpt-6-luna\", \"ls_model_type\": \"chat\", \"ls_temperature\": null, \"lc_versions\": {\"langchain-core\": \"1.6.6\", \"langchain-openai\": \"1.6.7\"}}"
}
},
{
"key": "openinference.span.kind",
"value": {
"stringValue": "LLM"
}
}
],
"status": {
"code": 1
},
"flags": 256
},
{
"traceId": "a2b7bdfc7ce2168e05f7298ee11ca7d3",
"spanId": "91fbc8f8c9a10da7",
"parentSpanId": "4ed2d903d4625b4a",
"name": "call_model",
"kind": 1,
"startTimeUnixNano": "1791061316830797056",
"endTimeUnixNano": "1791061320050427904",
"attributes": [
{
"key": "input.value",
"value": {
"stringValue": "{\"messages\": [{\"type\": \"human\", \"data\": {\"content\": \"What is an agent trace?\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"human\", \"name\": null, \"id\": \"2a09435d-ae05-4259-9d4a-5a788d07464d\"}}]}"
}
},
{
"key": "input.mime_type",
"value": {
"stringValue": "application/json"
}
},
{
"key": "output.value",
"value": {
"stringValue": "{\"messages\": [{\"type\": \"ai\", \"data\": {\"content\": \"An **agent trace** is a record of what an AI agent did during a task, step by step. It commonly includes the agent\u2019s inputs and outputs, tool calls and their results, and timing or errors.\\n\\nFor example, a trace might show: *user asks a question \u2192 agent searches the web \u2192 receives results \u2192 summarizes them.*\\n\\nTraces help people debug, evaluate, and audit an agent. They usually capture observable actions\u2014not necessarily the model\u2019s private internal reasoning.\", \"additional_kwargs\": {\"refusal\": null}, \"response_metadata\": {\"token_usage\": {\"completion_tokens\": 187, \"prompt_tokens\": 12, \"total_tokens\": 199, \"completion_tokens_details\": {\"accepted_prediction_tokens\": 0, \"audio_tokens\": 0, \"reasoning_tokens\": 83, \"rejected_prediction_tokens\": 0, \"text_tokens\": null}, \"prompt_tokens_details\": {\"audio_tokens\": 0, \"cache_write_tokens\": 0, \"cached_tokens\": 0, \"image_tokens\": null, \"text_tokens\": null, \"cache_creation_tokens\": 0}}, \"model_provider\": \"openai\", \"model_name\": \"openai/gpt-6-luna\", \"system_fingerprint\": null, \"id\": \"chatcmpl-EV19hpMRm3ctM96rCV2Noc7Dp5Wcm\", \"service_tier\": \"default\", \"finish_reason\": \"stop\", \"logprobs\": null}, \"type\": \"ai\", \"name\": null, \"id\": \"lc_run--01a10392-d4df-72b2-aa09-53e30f1c2e3c-0\", \"tool_calls\": [], \"invalid_tool_calls\": [], \"usage_metadata\": {\"input_tokens\": 12, \"output_tokens\": 187, \"total_tokens\": 199, \"input_token_details\": {\"audio\": 0, \"cache_read\": 0, \"cache_creation\": 0}, \"output_token_details\": {\"audio\": 0, \"reasoning\": 83}}}}]}"
}
},
{
"key": "output.mime_type",
"value": {
"stringValue": "application/json"
}
},
{
"key": "llm.input_messages.0.message.role",
"value": {
"stringValue": "user"
}
},
{
"key": "llm.input_messages.0.message.content",
"value": {
"stringValue": "What is an agent trace?"
}
},
{
"key": "metadata",
"value": {
"stringValue": "{\"ls_integration\": \"langgraph\", \"langgraph_step\": 1, \"langgraph_node\": \"call_model\", \"langgraph_triggers\": [\"branch:to:call_model\"], \"langgraph_path\": [\"__pregel_pull\", \"call_model\"], \"langgraph_checkpoint_ns\": \"call_model:4756011d-1080-f746-eefc-23cf69bce566\"}"
}
},
{
"key": "openinference.span.kind",
"value": {
"stringValue": "CHAIN"
}
}
],
"status": {
"code": 1
},
"flags": 256
},
{
"traceId": "a2b7bdfc7ce2168e05f7298ee11ca7d3",
"spanId": "4ed2d903d4625b4a",
"name": "research_agent",
"kind": 1,
"startTimeUnixNano": "1791061316829106944",
"endTimeUnixNano": "1791061320050825984",
"attributes": [
{
"key": "input.value",
"value": {
"stringValue": "{\"messages\": [{\"role\": \"user\", \"content\": \"What is an agent trace?\"}]}"
}
},
{
"key": "input.mime_type",
"value": {
"stringValue": "application/json"
}
},
{
"key": "output.value",
"value": {
"stringValue": "{\"messages\": [{\"type\": \"human\", \"data\": {\"content\": \"What is an agent trace?\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"human\", \"name\": null, \"id\": \"2a09435d-ae05-4259-9d4a-5a788d07464d\"}}, {\"type\": \"ai\", \"data\": {\"content\": \"An **agent trace** is a record of what an AI agent did during a task, step by step. It commonly includes the agent\u2019s inputs and outputs, tool calls and their results, and timing or errors.\\n\\nFor example, a trace might show: *user asks a question \u2192 agent searches the web \u2192 receives results \u2192 summarizes them.*\\n\\nTraces help people debug, evaluate, and audit an agent. They usually capture observable actions\u2014not necessarily the model\u2019s private internal reasoning.\", \"additional_kwargs\": {\"refusal\": null}, \"response_metadata\": {\"token_usage\": {\"completion_tokens\": 187, \"prompt_tokens\": 12, \"total_tokens\": 199, \"completion_tokens_details\": {\"accepted_prediction_tokens\": 0, \"audio_tokens\": 0, \"reasoning_tokens\": 83, \"rejected_prediction_tokens\": 0, \"text_tokens\": null}, \"prompt_tokens_details\": {\"audio_tokens\": 0, \"cache_write_tokens\": 0, \"cached_tokens\": 0, \"image_tokens\": null, \"text_tokens\": null, \"cache_creation_tokens\": 0}}, \"model_provider\": \"openai\", \"model_name\": \"openai/gpt-6-luna\", \"system_fingerprint\": null, \"id\": \"chatcmpl-EV19hpMRm3ctM96rCV2Noc7Dp5Wcm\", \"service_tier\": \"default\", \"finish_reason\": \"stop\", \"logprobs\": null}, \"type\": \"ai\", \"name\": null, \"id\": \"lc_run--01a10392-d4df-72b2-aa09-53e30f1c2e3c-0\", \"tool_calls\": [], \"invalid_tool_calls\": [], \"usage_metadata\": {\"input_tokens\": 12, \"output_tokens\": 187, \"total_tokens\": 199, \"input_token_details\": {\"audio\": 0, \"cache_read\": 0, \"cache_creation\": 0}, \"output_token_details\": {\"audio\": 0, \"reasoning\": 83}}}}]}"
}
},
{
"key": "output.mime_type",
"value": {
"stringValue": "application/json"
}
},
{
"key": "llm.input_messages.0.message.role",
"value": {
"stringValue": "user"
}
},
{
"key": "metadata",
"value": {
"stringValue": "{\"ls_integration\": \"langgraph\"}"
}
},
{
"key": "openinference.span.kind",
"value": {
"stringValue": "AGENT"
}
}
],
"status": {
"code": 1
},
"flags": 256
}
]
}
]
}
]
}