core-agent-ide/codex-rs/app-server-protocol/schema/json
Owen Lin 8dfd654196
feat(app-server-test-client): OTEL setup for tracing (#13493)
### Overview
This PR:
- Updates `app-server-test-client` to load OTEL settings from
`$CODEX_HOME/config.toml` and initializes its own OTEL provider.
- Add real client root spans to app-server test client traces.

This updates `codex-app-server-test-client` so its Datadog traces
reflect the full client-driven flow instead of a set of server spans
stitched together under a synthetic parent.

Before this change, the test client generated a fake `traceparent` once
and reused it for every JSON-RPC request. That kept the requests in one
trace, but there was no real client span at the top, so Datadog ended up
showing the sequence in a slightly misleading way, where all RPCs were
anchored under `initialize`.

Now the test client:
- loads OTEL settings from the normal Codex config path, including
`$CODEX_HOME/config.toml` and existing --config overrides
- initializes tracing the same way other Codex binaries do when trace
export is enabled
- creates a real client root span for each scripted command
- creates per-request client spans for JSON-RPC methods like
`initialize`, `thread/start`, and `turn/start`
- injects W3C trace context from the current client span into
request.trace instead of reusing a fabricated carrier

This gives us a cleaner trace shape in Datadog:
- one trace URL for the whole scripted flow
- a visible client root span
- proper client/server parent-child relationships for each app-server
request
2026-03-04 13:30:09 -08:00
..
v1 ignore v1 in JSON schema codegen (#12408) 2026-02-20 21:36:12 -08:00
v2 feat(app-server-test-client): OTEL setup for tracing (#13493) 2026-03-04 13:30:09 -08:00
ApplyPatchApprovalParams.json chore: remove codex-core public protocol/shell re-exports (#12432) 2026-02-20 23:45:35 -08:00
ApplyPatchApprovalResponse.json feat: include available decisions in command approval requests (#12758) 2026-02-26 01:10:46 +00:00
ChatgptAuthTokensRefreshParams.json fix(app-server): for external auth, replace id_token with chatgpt_acc… (#11240) 2026-02-09 20:48:58 -08:00
ChatgptAuthTokensRefreshResponse.json fix(app-server): for external auth, replace id_token with chatgpt_acc… (#11240) 2026-02-09 20:48:58 -08:00
ClientNotification.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
ClientRequest.json feat(app-server-test-client): OTEL setup for tracing (#13493) 2026-03-04 13:30:09 -08:00
codex_app_server_protocol.schemas.json feat(app-server-test-client): OTEL setup for tracing (#13493) 2026-03-04 13:30:09 -08:00
codex_app_server_protocol.v2.schemas.json feat(app-server-test-client): OTEL setup for tracing (#13493) 2026-03-04 13:30:09 -08:00
CommandExecutionRequestApprovalParams.json chore: Nest skill and protocol network permissions under network.enabled (#13427) 2026-03-03 20:57:29 -08:00
CommandExecutionRequestApprovalResponse.json feat: include available decisions in command approval requests (#12758) 2026-02-26 01:10:46 +00:00
DynamicToolCallParams.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
DynamicToolCallResponse.json feat(app-server, core): allow text + image content items for dynamic tool outputs (#10567) 2026-02-04 16:12:47 -08:00
EventMsg.json image-gen-core (#13290) 2026-03-03 23:11:28 -08:00
ExecCommandApprovalParams.json chore: remove codex-core public protocol/shell re-exports (#12432) 2026-02-20 23:45:35 -08:00
ExecCommandApprovalResponse.json feat: include available decisions in command approval requests (#12758) 2026-02-26 01:10:46 +00:00
FileChangeRequestApprovalParams.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
FileChangeRequestApprovalResponse.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
FuzzyFileSearchParams.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
FuzzyFileSearchResponse.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
FuzzyFileSearchSessionCompletedNotification.json [app-server] add fuzzyFileSearch/sessionCompleted (#11773) 2026-02-13 15:08:14 -08:00
FuzzyFileSearchSessionUpdatedNotification.json app-server: add fuzzy search sessions for streaming file search (#10268) 2026-02-12 10:49:44 -08:00
JSONRPCError.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
JSONRPCErrorError.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
JSONRPCMessage.json feat(app-server): add tracing to all app-server APIs (#13285) 2026-03-02 16:01:41 -08:00
JSONRPCNotification.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
JSONRPCRequest.json feat(app-server): add tracing to all app-server APIs (#13285) 2026-03-02 16:01:41 -08:00
JSONRPCResponse.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
RequestId.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
ServerNotification.json feat(app-server): add a skills/changed v2 notification (#13414) 2026-03-03 17:01:00 -08:00
ServerRequest.json chore: Nest skill and protocol network permissions under network.enabled (#13427) 2026-03-03 20:57:29 -08:00
ToolRequestUserInputParams.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00
ToolRequestUserInputResponse.json feat: vendor app-server protocol schema fixtures (#10371) 2026-02-01 23:38:43 -08:00