Skip to content

fix: 资源图在离线时段断开、同页链接不写入历史;清理过时注释与未用代码 - #21

Merged
stqfdyr merged 3 commits into
mainfrom
chore/cleanup
Oct 2, 2026
Merged

stqfdyr merged 3 commits into
mainfrom
chore/cleanup

Conversation

@stqfdyr

@stqfdyr stqfdyr commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

全量读了一遍 serverstatus,修两处显示问题,改正与代码不符的注释,删掉用不到的代码和样式。

修复

  • 资源图在节点离线的时段断开;原来把离线前后两个点连成一条直线,看起来像这段时间一直有数据。点间隔超过常规间隔(取间隔的中位数,偶数个时取较小的那个)两倍才断开,所以上报间隔较长的 agent、偶尔缺一个点都不会断;坐标轴仍按真实数据计算
  • 前后都是空档的单个点(如节点刚从离线恢复、只回来一个桶)画成与线同色的小圆点,否则它在图上看不见
  • 站名、首页、监控与节点列表里指向当前页面的链接不再重复写入浏览历史;原来每点一次就要多按一次返回。判断时连同查询串与锚点一起比较

注释

  • 断线后兜底轮询的频率写成「实时的五分之一」,实际是 5 秒对 2 秒
  • bytes、pair 的说明引用的是卡片四列网格的像素数,本主题没有卡片,改为说明省下的字符换成两位小数
  • 时间格式化器的说明提到已删的 clock 和本主题没用的 scale="time"
  • 请求只取所需序列、延迟提示框的数据键(削峰时是 s7)两处措辞,一行超宽的注释重排

清理

  • 删掉 clock 包装(Intl.DateTimeFormat#format 本身已绑定)、axisTop 不会走到的 ?? target 与默认参数、api() 没有调用者的请求体与 204 分支、distro 多余的兜底;axisBytes 复用 unitOf
  • 五个提示框共用一份设置,四个资源图共用一次算好的时间轴,并在实时推送触发的重渲染之间保持不变
  • percent 不再封顶:进度条自己止于满格,流量单元格的提示原本手算百分比,改用它
  • 类型里删掉没人读的 public、month_start、hostname、ip、github;OsIcon、Metrics 不再导出;useNodes 里与外层 state 同名的局部变量改名
  • 表格、输入框、按钮里从未命中的模板样式(复选框、data-state、caption、file:、aria-invalid、disabled、展开行的 border-t-0),以及 --secondary 与三个圆角变量;.tnum 换成 Tailwind 自带的 tabular-nums。CSS 从 33.6 kB 降到 30.8 kB

测试

  • npm run lint、npm test(UTC 与纽约时区)、npm run build 通过;新增断线的用例,阈值改为一倍、中位数改为最小值或较大的中位数时各自变红
  • 预览环境与 main 对照:
    • 节点 2 挖掉 3 小时与 1 天的分钟数据,1 天窗四个面板各断成 2 段、7 天窗各断成 3 段,main 都是 1 段;一直在线的节点不断;空档里悬停不显示数值,空档外照常
    • 3 小时数据之后隔 2 小时只有一个点:改前四个面板都看不到它,改后各有一个圆点;本机 agent 重启后第一分钟出现圆点,第二个点到达后连成线;连续数据的节点没有圆点
    • 列表页连点三次站名再点首页、详情页点两次当前节点再点监控,历史条数不变(main 多出 8 条);换节点后返回依次回到上一个节点和首页;从 /?utm=x 点站名回到 /,再点不再增加
  • 逐元素比对清理前后的计算样式:列表页(展开一行、悬停一行)与详情页(搜索框聚焦),1280 与 390 宽、浅色与深色共 8 种状态,除删掉的变量外只有一根实时进度条跨过 80% 换了色档,同一位置在改动前两次采样之间也会这样
  • 五个提示框的时间标签与内容、7 天窗的时间轴与网速轴、超出配额节点的流量提示(211.9%)正常,页面无报错

- 注释对齐现状:断线后轮询间隔、bytes 与 pair 的说明(本主题没有卡片布局)、时间格式化器、请求只取所需序列、延迟提示框的数据键
- 删掉 clock 包装、axisTop 不会走到的分支与默认参数、api() 没有调用者的请求体与 204 分支,axisBytes 复用 unitOf
- 五个提示框共用一份设置,四个资源图共用一次算好的时间轴
- percent 不再封顶,进度条自己止于满格,流量提示改用它
- 删掉类型里没人读的字段,以及表格、输入框、按钮里从未命中的模板样式和 --secondary 等变量,CSS 从 33.6 kB 降到 30.8 kB
- .tnum 换成 Tailwind 自带的 tabular-nums
- 资源图在节点离线的时段断开,不再画成一条直线;间隔超过常规间隔(取较小的中位数)两倍才断开,上报间隔较长的 agent 不受影响,坐标轴仍按真实数据计算
- 站名、首页、监控与节点列表里指向当前页面的链接不再重复写入浏览历史,返回键一次回到上一页
@stqfdyr stqfdyr changed the title chore: 修正与代码不符的注释,删掉用不到的代码与样式 fix: 资源图在离线时段断开、同页链接不写入历史;清理过时注释与未用代码 Oct 2, 2026
- 节点离线后刚恢复、只有一个桶的数据时,这个点原来在四个资源图上都看不见,现在画成与线同色的小圆点
- 判断是否为当前页时连同查询串与锚点一起比较,从带参数的链接点站名会回到干净的地址
- 时间轴在实时推送触发的重渲染之间保持不变,四根横轴不再每次重新布局
- 删掉展开行单元格上已不起作用的 border-t-0
@stqfdyr
stqfdyr merged commit 7634f1c into main Oct 2, 2026
1 check passed
@stqfdyr
stqfdyr deleted the chore/cleanup branch October 2, 2026 12:04
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