[Power] role-local measured energy axes + per-worker power drilldown | 前端:新增角色级实测能耗坐标轴与每 worker 功耗下钻 - #935
[Power] role-local measured energy axes + per-worker power drilldown | 前端:新增角色级实测能耗坐标轴与每 worker 功耗下钻#935edwingao28 wants to merge 24 commits into
Conversation
…filter | 推理图表:派生实测功耗认证层级并新增快捷筛选
Compute a per-entry power_tier ('certified' | 'legacy') in
rowToAggDataEntry from the producer verdict and whole-deployment energy
semantics, without changing which values render. Add a 'Measured Power'
quick-filter category (Certified/Legacy pills, i_power URL param) wired
through QuickFilters, InferenceContext, the dialog, and GPUGraph.
在 rowToAggDataEntry 中根据生产端验证结论与整体部署能耗语义派生
power_tier(certified/legacy),不改变任何渲染值。新增“实测功耗”
快捷筛选(已认证/旧版,URL 参数 i_power)。
… axes | 推理图表:在实测能耗坐标轴上标记旧版功耗数据点 On the nine Measured Energy y-axes, draw a dotted ring around points whose telemetry lacks a producer validation verdict (official and overlay render paths), show a localized footer legend key when such points are on screen, state the tier in all three tooltip generators (EN/ZH), and append a tier note to the measured axis explanations. 在九个实测能耗 Y 轴上,为缺少生产端验证结论的数据点绘制虚线圆环 (官方与叠加渲染路径),当此类点可见时在图表底部显示本地化图例, 在三种工具提示中标注认证层级(中英文),并在实测指标说明中补充 层级说明。
…and tooltips | 测试:覆盖实测功耗层级派生、筛选、圆环与工具提示 Table-driven resolvePowerTier cases, tier derivation through rowToAggDataEntry/transformBenchmarkRows, quick-filter matching and availability, measured-energy key classification, decoration rendering per axis, tier tooltip lines (EN/ZH), and the i_power URL default. 覆盖 resolvePowerTier 表驱动用例、转换层层级派生、快捷筛选匹配与 可用性、实测能耗指标判定、按坐标轴的圆环渲染、中英文工具提示层级 行以及 i_power URL 默认值。
…与旧版实测功耗筛选 Deterministic intercepted fixtures (one certified, one legacy config) drive the measured-axis ring, footer legend key, Certified/Legacy quick filter pills, clear-filters reset, and i_power share-link restore. 使用确定性的拦截数据(一个已认证、一个旧版配置)验证实测坐标轴 圆环、底部图例、已认证/旧版快捷筛选、清除筛选以及 i_power 分享 链接恢复。
…ick-filter reset | 推理图表:图例快捷筛选计数与重置纳入实测功耗层级 ScatterGraph keeps its own copy of the quick-filter badge count and the legend "Reset filter" handler; both omitted the new power category, so a Certified/Legacy selection was invisible in the legend badge and survived the reset click. Mirror the GPUGraph edit.
…rilldown | 推理图表:新增角色级实测能耗坐标轴与每 worker 功耗下钻 Add y_measuredPrefillJPerInputToken and y_measuredDecodeJPerOutputToken to the Measured Energy group (bilingual labels, lower polarity, explanations), map prefill_joules_per_input_token / decode_joules_per_output_token into chart fields, and render a pinned-only per-worker power table (role, chips, watts, optional temp/util/mem/hosts, 8-row cap, HTML-escaped JSONB strings) in all three tooltip generators. 在“实测能耗”分组新增每输入 token 实测 Prefill 能耗与每输出 token 实测 Decode 能耗两个 Y 轴(双语标签、越低越好、附说明),将角色级能耗字段映射 为图表字段,并在三种工具提示中新增仅固定时显示的每 worker 功耗表 (角色、芯片数、功耗,可选温度/利用率/显存/主机,上限 8 行,HTML 转义)。
…worker drilldown | 测试:覆盖 AgentX 实测功耗、角色级能耗坐标轴与 worker 下钻 Agentic-traces transform pass-through and power_valid=0 scrub (including workers), role-energy chart-field emission/absence/zero-preservation, Pareto corners and bilingual labels for the two new axes, input/output token classification and share-link round-trip, and the pinned worker table across all three tooltip generators (cap, ZH, HTML escaping). 覆盖 agentic_traces 变换透传与 power_valid=0 清除(含 workers)、角色级 能耗图表字段的生成/缺省/零值保留、两个新坐标轴的帕累托方向与双语标签、 输入/输出 token 分类与分享链接解析回环,以及三种工具提示中固定状态下 的 worker 表(行数上限、中文、HTML 转义)。
…使用合成 worker 数据的 AgentX 实测功耗 Spec-scoped intercepts inject a disagg agentic series (role energy + workers[]) and an aggregate series (whole-run metrics, workers: null): the two role-energy axes render under Measured Energy, the aggregate series coverage-filters off while the legend stays intact, the pinned tooltip shows the worker table, and a workers-less point stays clean. 通过 spec 级拦截注入分离式 agentic 序列(角色级能耗 + workers[])与 聚合序列(全程指标、workers 为 null):两个角色级能耗坐标轴显示在 “实测能耗”分组下,聚合序列因无该指标从图中过滤但图例保持完整, 固定的工具提示显示 worker 表,无 workers 的点保持正常。
…n-destructive axis switch | 端到端测试修复:断言覆盖过滤会移出图例,并验证坐标轴切换可无损恢复 The rendered legend is metric-aware (hwTypesWithData), so a series without the selected role-energy metric drops out of the legend too — the previous assertion expected it to stay and failed deterministically. Re-selecting a whole-run measured axis now proves the selection universe survives the switch. Also documents the MiB reading of avg_mem_used_mb in the worker tooltip. 图例渲染依据所选指标(hwTypesWithData),缺少角色级能耗指标的系列会同时从图例中 移除,原断言必然失败。现改为断言其不在图例中,并通过重新选择全局实测坐标轴验证 选择集在切换后无损恢复。同时为 worker 工具提示中 avg_mem_used_mb 的 MiB 语义 补充说明。
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Claude finished @edwingao28's task in 3m 5s —— View job Review: PR #935 — role-local measured energy axes + per-worker power drilldown
🟢 LGTM — no blocking issues foundStatic review + runtime verification both clean. This is a tight, well-scoped, well-tested addition. What I verified statically
Runtime (Playwright, real read-only DB)
Tests — comprehensive: transform pass-through + scrub, chart-field emission/absence/zero-preservation, Pareto corners + bilingual labels, token-type classification + share-link round-trip, tooltip table across all three generators (pinned/unpinned, empty/absent, 8-row cap, ZH, HTML escaping), and a new AgentX e2e spec covering both axes, non-destructive coverage filtering, the worker drilldown, and graceful absence. Note: stacked PR — base is |
中文:合并 master,并解决实测功耗功能的冲突。
…icts 中文:合并 measured-power-tiering 分支并解决 tooltip 冲突
|
Claude finished @edwingao28's task in 1m 57s —— View job Re-review: PR #935 — role-local measured energy axes + per-worker power drilldown
🟢 LGTM — no blocking issues foundThe only change since my last review ( What the merge changed in scope
Runtime (Playwright, real read-only DB)
CI — Nothing blocking. Reminder for the merge order: this is a stacked PR — base |
…filter | 推理图表:派生实测功耗认证层级并新增快捷筛选
Compute a per-entry power_tier ('certified' | 'legacy') in
rowToAggDataEntry from the producer verdict and whole-deployment energy
semantics, without changing which values render. Add a 'Measured Power'
quick-filter category (Certified/Legacy pills, i_power URL param) wired
through QuickFilters, InferenceContext, the dialog, and GPUGraph.
在 rowToAggDataEntry 中根据生产端验证结论与整体部署能耗语义派生
power_tier(certified/legacy),不改变任何渲染值。新增“实测功耗”
快捷筛选(已认证/旧版,URL 参数 i_power)。
… axes | 推理图表:在实测能耗坐标轴上标记旧版功耗数据点 On the nine Measured Energy y-axes, draw a dotted ring around points whose telemetry lacks a producer validation verdict (official and overlay render paths), show a localized footer legend key when such points are on screen, state the tier in all three tooltip generators (EN/ZH), and append a tier note to the measured axis explanations. 在九个实测能耗 Y 轴上,为缺少生产端验证结论的数据点绘制虚线圆环 (官方与叠加渲染路径),当此类点可见时在图表底部显示本地化图例, 在三种工具提示中标注认证层级(中英文),并在实测指标说明中补充 层级说明。
…and tooltips | 测试:覆盖实测功耗层级派生、筛选、圆环与工具提示 Table-driven resolvePowerTier cases, tier derivation through rowToAggDataEntry/transformBenchmarkRows, quick-filter matching and availability, measured-energy key classification, decoration rendering per axis, tier tooltip lines (EN/ZH), and the i_power URL default. 覆盖 resolvePowerTier 表驱动用例、转换层层级派生、快捷筛选匹配与 可用性、实测能耗指标判定、按坐标轴的圆环渲染、中英文工具提示层级 行以及 i_power URL 默认值。
…与旧版实测功耗筛选 Deterministic intercepted fixtures (one certified, one legacy config) drive the measured-axis ring, footer legend key, Certified/Legacy quick filter pills, clear-filters reset, and i_power share-link restore. 使用确定性的拦截数据(一个已认证、一个旧版配置)验证实测坐标轴 圆环、底部图例、已认证/旧版快捷筛选、清除筛选以及 i_power 分享 链接恢复。
…ick-filter reset | 推理图表:图例快捷筛选计数与重置纳入实测功耗层级 ScatterGraph keeps its own copy of the quick-filter badge count and the legend "Reset filter" handler; both omitted the new power category, so a Certified/Legacy selection was invisible in the legend badge and survived the reset click. Mirror the GPUGraph edit.
Draw historical-measurement rings in GPU comparisons, use clearer validated/historical copy with accessible help, expose visible coverage counts, and prevent singleton previews from hiding fuller curves. Add focused official, overlay, and end-to-end regressions.\n\n中文:在 GPU 对比图中绘制历史测量圆环,采用更清晰的“已验证/历史测量”文案并补充无障碍说明,显示当前可见数据覆盖率,同时避免单点预览遮蔽更完整的曲线。新增官方数据、非官方叠加与端到端回归测试。
5f4ddbb to
a5162ad
Compare
中文:合并更新后的实测功耗基础分支
|
Claude finished @edwingao28's task in 1m 15s —— View job Re-review: PR #935 — role-local measured energy axes + per-worker power drilldown
🟢 LGTM — no blocking issues foundThe only new commit since the last LGTM ( Independently re-verified in this pass
Runtime — CI — Nothing blocking. Merge-order reminder still stands: this is a stacked PR — base |
中文:合并最新 master 并解决 PowerX 冲突
|
Claude finished @edwingao28's task in 1m 8s —— View job Re-review: PR #935 — role-local measured energy axes + per-worker power drilldown
🟢 LGTM — no blocking issues foundThe only new commit since the last LGTM is the merge Nothing new to review substantively. Carrying forward the previously verified conclusions:
CI — Lint & Format ✅, Tests (Unit) ✅, Code Quality ✅; Tests (E2E) + Claude in progress at review time, nothing failing. Runtime — Merge-order reminder still stands: this is a stacked PR — base |
中文:移除使用合成数据的 AgentX 功耗端到端测试
中文:将 PowerX 内部规划编号改为公开可读的技术说明
|
Claude finished @edwingao28's task in 1m 43s —— View job Re-review: PR #935 — role-local measured energy axes + per-worker power drilldown
🟢 LGTM — no blocking issues foundNew commits since the last LGTM ( What the new commits changed
Re-verified
Runtime — CI — Nothing blocking. |
|
Claude finished @edwingao28's task in 1m 34s —— View job Re-review: PR #935 — role-local measured energy axes + per-worker power drilldown
🟢 LGTM — no blocking issues foundTwo new commits since the last LGTM, both low-risk:
Note (non-blocking): removing that spec leaves the worker drilldown with no E2E coverage, but it retains comprehensive unit coverage — Carried-forward verification (unchanged by these commits):
CI — Lint & Format ✅, Tests (Unit) ✅, Code Quality ✅, PR checks ✅; Tests (E2E) + Claude in progress at review time, nothing failing. Runtime — Merge-order reminder still stands: this is a stacked PR — base |
中文:精简 PowerX 实现中的重复测试说明和易过时注释
|
Claude finished @edwingao28's task in 39s —— View job Re-review: PR #935 — role-local measured energy axes + per-worker power drilldown
🟢 LGTM — no blocking issues foundThe only new commit since the last LGTM is
Carried-forward verification (unchanged by this commit):
CI — all six runs pending/in-progress at review time (freshly triggered by this push); nothing failing. Merge-order reminder still stands: this is a stacked PR — base |
中文:移除 PowerX 测试中的重复分段与断言说明
|
Claude finished @edwingao28's task in 47s —— View job Re-review: PR #935 — role-local measured energy axes + per-worker power drilldown
🟢 LGTM — no blocking issues foundTwo new commits since the last LGTM, both comment/narration only — no behavior change:
Confirmed via Carried-forward verification (unchanged):
CI — Lint & Format ✅, Tests (Unit) ✅, Code Quality ✅, PR checks ✅; Tests (E2E) + Claude in progress at review time, nothing failing. Nothing blocking. Merge-order reminder still stands: this is a stacked PR — base |
中文:当所选数据集未提供 Prefill/Decode 分角色能耗时,在普通图表和 GPU 对比图中显示明确的双语空状态,并补充组件回归测试。
|
Claude finished @edwingao28's task in 2m 11s —— View job Re-review: PR #935 — role-local measured energy axes + per-worker power drilldown
🟢 LGTM — no blocking issues foundThe only new commit since the last LGTM is
Runtime (Playwright, real read-only DB) — loaded CI — Lint & Format ✅, Tests (Unit) ✅, PR checks ✅; Tests (E2E) / Code Quality / Claude in progress at review time, nothing failing. Nothing blocking. Merge-order reminder still stands: this is a stacked PR — base |
Summary
This PR makes role-specific measured power data usable in the InferenceX frontend:
workers[].Data availability
Current role-energy coverage is sparse. The preview has real role-level points for selected DeepSeek V4 Pro 8K/1K FP4 and GLM-5.2 AgentX FP8 runs, but most historical rows do not contain the two role-energy scalars.
Current AgentX rows also do not contain
workers[], so the AgentX worker drilldown is waiting for producer-side emission. The same tooltip path can be verified today on fixed-sequence historical disaggregated rows, including DeepSeek R1 MI355X results. The UI does not derive role energy from worker watts when the producer has not published the role-energy fields.Validation
bun run typecheck✅bun run lint✅bun run fmt✅中文说明
本 PR 让 InferenceX 前端可以展示并解释按角色拆分的实测功耗数据:
workers[]时,在点击固定的 tooltip 中展示“各 worker 实测功耗”表格;官方结果、非官方运行叠加层和 GPU/日期对比均支持。数据覆盖情况
目前按角色拆分的能耗数据仍然较少。预览环境中,部分 DeepSeek V4 Pro 8K/1K FP4 和 GLM-5.2 AgentX FP8 运行包含真实数据点,但大多数历史数据行尚未提供这两个角色能耗字段。
当前 AgentX 数据行也尚未包含
workers[],因此 AgentX 的 worker 下钻仍需等待生产端输出。现阶段可以使用固定序列的历史分离式推理数据验证同一套 tooltip 路径,例如 DeepSeek R1 的 MI355X 结果。如果生产端未发布角色能耗字段,前端不会根据 worker 功耗自行推算角色能耗。验证
bun run typecheck✅bun run lint✅bun run fmt✅