openai / openai/codex

Codex App: add end-to-end telemetry and latency budgets for session-status flows

Open
#46,706 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app enhancement performance session
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

  • #40087 — per-tool timing and performance breakdown.
  • #38373 — full state-table scan during startup.
  • #40137 — stale metadata on the first-turn critical path.
  • #45636 — slow chat opening.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.