Skip to content

[PowerX] fix telemetry axes and stale power references / 修复遥测坐标轴与残留功耗参考线 - #1196

Merged
edwingao28 merged 3 commits into
feat/powerx-db-ingestfrom
fix/powerx-memory-clock-axis
Sep 21, 2026
Merged

edwingao28 merged 3 commits into
feat/powerx-db-ingestfrom
fix/powerx-memory-clock-axis

Conversation

@edwingao28

@edwingao28 edwingao28 commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Constant telemetry collapsed Y axes, and switching metrics retained the power TDP line. Add minimum axis padding and clear stale references. Based on #1167.

Preview: Memory Clock, 300 s.

AI model disclosure

  • Model/version: GPT-6; exact runtime version unavailable.
  • Role: Implementation and validation.

Validation

  • Six Cypress regressions pass; desktop/mobile covered. Real-data preview verified.

  • Units: 6,940 passed, four skipped; DB timeouts passed on retry. Skills: 293 passed, two timeouts passed separately; one file cancellation.

  • Smoke: 187 passed. Lint, format, typecheck and typography passed.

  • I have completed the AI model disclosure and kept it current

中文说明

修复恒定遥测值的坐标轴坍缩,以及切换指标后残留的功耗 TDP 参考线。基于 #1167。上方预览选择 Memory Clock、300 s。

6 项组件回归通过,覆盖桌面和手机,真实数据预览已验收。App/constants/DB/MCP 单测共 6,940 项通过、4 项跳过;数据库超时重跑通过。Skills 共 293 项通过、两项超时后单独复跑通过,整轮另记录一次文件取消。187 项 smoke、lint、格式、类型和 typography 检查通过。

AI:GPT-6,无法确认运行时的精确版本;负责实现与验证。


Note

Low Risk
Chart-only display logic and component tests; no auth, data, or API changes.

Overview
Fixes collapsed Y axes when GPU telemetry is flat (constant values, all zeros, or tiny floating-point jitter after rolling averages) by applying a minimum padding on the domain—not only 5% of range, but also at least 1% of magnitude and 1 unit—so ticks stay distinct and labels clear the axis title.

Fixes stale power TDP reference lines after switching away from the power metric: the custom layer always removes existing .tdp-line markup before drawing, instead of skipping render with null and leaving the old overlay on memory clock and other metrics.

Adds Cypress component regressions for desktop/mobile widths, zero and noisy constant series, power + TDP scaling, and toggling power ↔ memory clock.

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

中文:为恒定及近恒定遥测值保留最小坐标范围,避免显存时钟刻度坍缩;补充桌面、手机、全零值和 TDP 参考线的组件回归测试。
@vercel

vercel Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
inferencemax-app Ready Ready Preview Sep 21, 2026 7:51am UTC

Request Review

切换到显存频率时清除旧 TDP 参考线,并验证切回功耗后仅恢复一条参考线。
@edwingao28 edwingao28 changed the title [PowerX] keep constant telemetry axes readable / 修复恒定遥测值的坐标轴显示 [PowerX] fix telemetry axes and stale power references / 修复遥测坐标轴与残留功耗参考线 Sep 21, 2026
@edwingao28
edwingao28 marked this pull request as ready for review September 21, 2026 07:49
@github-actions

github-actions Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @edwingao28's task in 2m 41s —— View job


Claude PR Review

  • Read the diff (GpuPowerChart.tsx + new Cypress test)
  • Static review of axis padding + stale reference fix
  • Check CI status
  • Runtime verification via Playwright
  • Post findings

🟢 LGTM — no blocking issues found.

Both fixes are correct and well-scoped:

1. Y-axis padding (yDomain, lines 385–399) — padding = max(range*0.05, max(|min|,|max|)*0.01, 1) correctly guarantees a readable, non-collapsed axis for constant telemetry (range 0), post-rolling floating-point noise, and all-zero series. yMin stays clamped at ≥ 0 and the TDP override still applies, so nothing regresses for varying power data.

2. Stale TDP reference (tdp-line layer, lines 425–453) — the previous render: tdpInfo ? fn : null meant that when switching away from power, the custom layer never ran and the old .tdp-line DOM lingered. Moving to an always-present render that first calls group.selectAll('.tdp-line').remove() and then early-returns when !tdpInfo cleanly removes the line on metric switch and re-draws it on switch back. Correct D3 enter/exit hygiene.

Test coverage — gpu-metrics-axis.cy.tsx is thorough: constant/noise/all-zero axes at desktop + mobile widths, TDP presence for power, and the switch-away/switch-back removal cycle. This satisfies the regression-test requirement for both bug fixes.

Runtime verification note — I loaded /inference/agentic/442392?view=power on the review dev server, but /api/v1/gpu-metrics-point?id=442392 returns 500 ("Failed to load PowerX telemetry"), so the chart itself couldn't render with live data. This is because the PowerX telemetry data isn't in the shared read-only DB yet (this stacks on the feat/powerx-db-ingest feature branch) — not a defect introduced by this diff, which only changes client-side rendering. The Cypress component test is the appropriate verification path here and covers the changed behavior with mock data.
· fix/powerx-memory-clock-axis

@edwingao28
edwingao28 merged commit 4a1cac3 into feat/powerx-db-ingest Sep 21, 2026
7 checks passed
@edwingao28
edwingao28 deleted the fix/powerx-memory-clock-axis branch September 21, 2026 08:18

This branch was successfully deployed

1 active deployment
Preview — 9d904241 Deployed Sep 21, 2026 by vercel[bot]
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