Skip to content

fix: constrain sandbox metrics charts#7

Merged
fioncat merged 3 commits into
ucloud:mainfrom
Piwriw:fix/metrics-chart
Jul 24, 2026
Merged

fix: constrain sandbox metrics charts#7
fioncat merged 3 commits into
ucloud:mainfrom
Piwriw:fix/metrics-chart

Conversation

@Piwriw

@Piwriw Piwriw commented Jul 19, 2026

Copy link
Copy Markdown

背景

sandbox metrics 使用 asciigraph 默认宽度渲染图表,图表宽度会随着采样点数量增长。在窄终端或持续监控场景下容易发生横向溢出,时间轴标签也可能重叠,影响可读性。

变更内容

  • 根据终端实际宽度限制指标面板和图表宽度,非交互式输出默认使用 80 列。
  • 重构指标输出布局,增加沙箱 ID、采样数量、时间范围、当前值、峰值和容量详情。
  • 支持窄终端下的紧凑展示,并对过长的沙箱 ID 和文本进行截断。
  • 对内存和磁盘容量使用人类可读格式展示;缺失容量数据时显示 n/a
  • 优化时间轴标签,根据终端宽度及时间范围自动选择合适的时间格式和刻度数量。
  • 保留 0%~100% 的图表范围和原有图表高度。
  • 新增指标面板、窄终端、单样本、缺失数据、跨日期和跨年份场景的单元测试。

影响范围

  • 优化 sandbox metrics 的图表模式和 --watch 展示。
  • --raw 原始 JSON 输出行为保持不变。

验证

  • 新增 cmd/sandbox/metrics_test.go 测试覆盖核心格式化逻辑。

@fioncat
fioncat merged commit 9d57947 into ucloud:main Jul 24, 2026
1 check passed
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.

2 participants