Codex App: add end-to-end telemetry and latency budgets for session-status flows
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- PR merge metrics
- PR metrics pending
Description
Problem
The tracker contains repeated reports that Codex is slow to start, open, resume, and switch between sessions, but there is no single end-to-end measurement for the user-visible session-status flows. Without that breakdown, storage scans, app-server/IPC waits, rendering, history hydration, and network refreshes are easy to conflate.
The goal is to make checking session status feel as immediate as opening Instagram and to make regressions measurable.
Instrument these flows
- App launch → first usable session list.
- Session list request → first status row rendered.
- Session selection → status visible.
- Resume → running/waiting/finished state visible.
- Reconnect/background refresh → status current again.
Each flow should record the first useful state separately from final hydration.
Required breakdown
Capture timing for:
- State database open and query/index work.
- App-server/IPC transport.
- Session-status computation.
- History hydration and rendering.
- Authentication, model catalog, MCP, plugin, and other optional network work.
- Background refresh completion.
Include cold/warm state and coarse history-size/thread-count buckets. Do not record prompt text, conversation contents, or other user data.
Acceptance criteria
- A trace or structured metric gives p50/p95/p99 for each flow and breakdown component.
- The telemetry distinguishes “status visible” from “full session loaded.”
- A documented latency budget exists for the first useful status on warm and cold paths.
- A regression can identify whether the budget was missed in storage, transport, rendering, hydration, or optional network work.
- Instrumentation is low overhead and privacy-safe.
Related
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the five named session-status flows from app launch, session requests, selection, resume, and reconnect/background refresh through their storage, app-server/IPC, rendering, hydration, and optional network stages. Define separate first-useful-state and final-hydration measurements, then verify that traces or structured metrics provide the requested percentiles, cold/warm buckets, latency budgets, regression breakdowns, and privacy-safe overhead.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- observability, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100