Skip to content

Remove Normalized E2E / Session Time / Prefill TPS x-axis modes / 移除 Normalized E2E、会话时长与 Prefill TPS X 轴模式 - #644

Merged
cquil11 merged 2 commits into
masterfrom
chore/remove-agentic-derived-x-axis-modes
Jul 30, 2026
Merged

Remove Normalized E2E / Session Time / Prefill TPS x-axis modes / 移除 Normalized E2E、会话时长与 Prefill TPS X 轴模式#644
cquil11 merged 2 commits into
masterfrom
chore/remove-agentic-derived-x-axis-modes

Conversation

@cquil11

@cquil11 cquil11 commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Retires the three experimental agentic x-axis modes. Agentic charts keep Interactivity / E2E Latency / TTFT. No behavior change for fixed-sequence scenarios.

What changed

  • Chart: dropped the three mode buttons, DERIVED_X_MODE_SPECS, and the derived-metric fetch/remap plumbing in ChartDisplay. Every remaining mode applies to both scenario kinds, so the agentic-only button filter and its mounted SSR guard go too
  • Deleted: /api/v1/derived-agentic-metrics, the useDerivedAgenticMetrics hook, queries/derived-agentic-metrics.ts, the NORMALIZED_E2E_OUTPUT_TOKENS constant, and the overlay-suppression helper that existed only for Normalized E2E
  • aggregate_stats v5 → v6: drops normalizedSessionTimeS, p90PrefillTpsPerUser, normalizedE2e400. mergeProfileStatsUpgrade no longer carries them forward, and the backfill's profile-only fast path now covers every v3+ bundle instead of only v3
  • Tests: removed the three modes' coverage; added assertions that a pre-v6 bundle's retired fields do not survive a recompute or a profile-only upgrade

Net −1030 lines.

Why

No backfill needed

v6 is read-compatible with what is already stored: extra keys on existing bundles are ignored, and any row still on an older version self-heals through the normal read path (or via db:backfill-aggregate-stats).

中文说明

移除三个实验性智能体 X 轴模式,智能体图表保留交互性 / 端到端延迟 / TTFT;固定序列场景行为不变。

改动:

  • 图表:删除三个模式按钮、DERIVED_X_MODE_SPECSChartDisplay 中的派生指标拉取与重映射逻辑;剩余模式对两种场景均适用,因此智能体专属的按钮过滤与 mounted SSR 守卫一并移除
  • 删除/api/v1/derived-agentic-metrics 路由、useDerivedAgenticMetrics hook、queries/derived-agentic-metrics.tsNORMALIZED_E2E_OUTPUT_TOKENS 常量,以及仅为 Normalized E2E 存在的覆盖层抑制辅助函数
  • aggregate_stats v5 → v6:去掉 normalizedSessionTimeSp90PrefillTpsPerUsernormalizedE2e400 三个字段;mergeProfileStatsUpgrade 不再向前携带,backfill 的 profile-only 快速路径扩展至所有 v3 及以上版本
  • 测试:删除三个模式的用例;新增断言,确保旧版本 bundle 中已废弃字段不会在重算或 profile-only 升级后残留

原因: 这三个指标属于实验性质且未经验证,已由 #638 的 OSL / E2EL 取代;先行移除可让未验证指标尽快从仪表板下线。

无需回填: v6 与现有存储读兼容——多余字段会被忽略,旧版本行经正常读取路径自愈。

🤖 Generated with Claude Code


Note

Medium Risk
Large surface-area removal across chart UX, API routes, and versioned DB payloads; behavior change is intentional but agentic chart defaults and URL i_xmode values for removed modes need awareness.

Overview
Retires three experimental agentic inference chart x-axis modes (Normalized E2E @ 400 tokens, Session Time, Prefill TPS / user). Agentic and fixed-sequence views now share the same three toggles: Interactivity, E2E Latency, and TTFT.

The UI drops the extra mode buttons, DERIVED_X_MODE_SPECS, derived-metric fetching/remapping in ChartDisplay, the unofficial-overlay suppression for Normalized E2E, and isAgenticOnlyXAxisMode reconciliation in InferenceContext. Deleted end-to-end: /api/v1/derived-agentic-metrics, useDerivedAgenticMetrics, queries/derived-agentic-metrics.ts, and NORMALIZED_E2E_OUTPUT_TOKENS.

aggregate_stats bumps to v6 (STATS_VERSION 5 → 6): stored bundles no longer include normalizedSessionTimeS, p90PrefillTpsPerUser, or normalizedE2e400; profile-only upgrades and self-heal paths stop computing or carrying those fields. Backfill’s profile-only fast path now applies to any v3+ bundle below the current version, not only v3.

Tests and Cypress specs are updated to match the slimmer mode set (~1k lines removed).

Reviewed by Cursor Bugbot for commit 52fb7f6. Bugbot is set up for automated code reviews on this repo. Configure here.

…xis modes

Retire the three experimental agentic x-axis modes and everything that
existed solely to serve them, leaving Interactivity / E2E Latency / TTFT.

- chart: drop the three mode buttons, DERIVED_X_MODE_SPECS and the
  derived-metric fetch/remap plumbing in ChartDisplay; the remaining
  modes apply to both scenario kinds, so the agentic-only button filter
  (and its `mounted` SSR guard) goes too
- API/hook/db: delete /api/v1/derived-agentic-metrics, the
  useDerivedAgenticMetrics hook, and queries/derived-agentic-metrics.ts
- aggregate_stats v6: drop normalizedSessionTimeS, p90PrefillTpsPerUser
  and normalizedE2e400; mergeProfileStatsUpgrade no longer carries them
  forward, and the backfill's profile-only fast path now covers every
  v3+ bundle instead of only v3
- drop the NORMALIZED_E2E_OUTPUT_TOKENS constant and the overlay
  suppression helper that existed only for Normalized E2E

中文:移除三个实验性智能体 X 轴模式(Normalized E2E、会话时长、
Prefill TPS / user)及其专属实现,仅保留交互性 / 端到端延迟 / TTFT。
同时删除对应的 API 路由、React Query hook 与数据库查询模块;
aggregate_stats 升级至 v6,去掉三个已废弃字段,backfill 的
profile-only 快速路径扩展至所有 v3 及以上版本。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@cquil11
cquil11 requested a review from adibarra as a code owner July 29, 2026 21:53
@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview Jul 29, 2026 10:08pm

Request Review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 91bd8a7. Configure here.

Comment thread packages/app/cypress/e2e/ttft-x-axis-toggle.cy.ts
@blacksmith-sh

This comment has been minimized.

The "switches back to Interactivity" test asserted a P75 axis label, but
nothing in it selected p75 — it inherited the selector state from the
Normalized E2E test that ran before it. Removing that test left the
selector on p90 and the assertion failed. Assert P90 there (the default)
and cover the p75 case in its own test that selects the percentile itself.

中文:「switches back to Interactivity」用例断言 P75 轴标签,但其自身
并未切换分位数,而是依赖此前 Normalized E2E 用例遗留的选择器状态。
该用例被移除后选择器停留在 p90,断言随之失败。现改为断言默认的 P90,
并将 p75 场景拆分为独立用例,由其自行切换分位数。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@cquil11
cquil11 merged commit 56fa357 into master Jul 30, 2026
24 checks passed
@cquil11
cquil11 deleted the chore/remove-agentic-derived-x-axis-modes branch July 30, 2026 03:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant