1 个不稳定版本
0.1.0 | 2023年9月9日 |
---|
#8 in #dirty
12KB
133 代码行(不包括注释)
这是一个简单的工具,可用于诊断和分析有故障的实时时钟。
使用方法
在受影响的机器和已知工作的诊断机器上安装此工具
cargo install timeywimey
受影响的机器
在受影响的机器上,只需运行 timeywimey server
。如果您愿意,可以使用 -a
更改它监听的端口或接口。为了获得最大数据,请禁用操作系统可能正在后台执行的网络时间同步。 (别忘了之后打开它!)
诊断机器
在诊断机器上,运行 timeywimey client -ADDRESS_AND_PORT_OF_PATIENT -/to/logfile.csv
。可选地,使用 -
修改轮询间隔。在默认的5秒轮询间隔下,日志文件每天将增长约600KB。
分析
运行几小时或几天后,将CSV文件插入您喜欢的电子表格、绘图或分析软件。第一列是诊断机器在发送轮询请求时的UNIX时间戳。第二列是此时间戳与受影响机器报告的时间戳之间的差异。第三列是诊断机器对请求发送和响应接收之间经过的时间(以秒为单位)的测量。
请注意,日志文件将包含大量行,可能会使您的电子表格软件崩溃!(如果发生这种情况,请尝试更长的轮询间隔。)
如果您将第一列作为X轴,第二列作为Y轴,您将看到两台机器之间时间差的趋势。如果每个人的RTC都运行良好,时间差将保持恒定,漂移非常小(即使每天一百分之一也是可怕的)。如果某人的RTC表现不佳,Y轴上可能会有明显的斜率,甚至包括不连续性。
尝试理解差分斜率的变化可能很有趣。例如,如果患者在玩游戏时明显加快或减慢,这可能表明该机器RTC的温度补偿电路不再正常工作。或者,如果它经常在固定的时间间隔内跳变一个固定的数值,这表明计数器或寄存器中的坏触发器。
安全性
可以访问服务器监听端口的任何人可以从交易中获得大约2:1的带宽放大。除此之外,安全考虑因素很少。仍然最好不要将其暴露在公共互联网上。
注意事项
由于懒惰,此版本仅测量UNIX时间,精度为1秒。这是使用最快和最便携的方式获取RTC时间所强加的限制。
法律声明
TimeyWimey版权所有©2023,Solra Bizna,许可方式如下:
- Apache许可证版本2.0(《LICENSE-APACHE》或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(《LICENSE-MIT》或http://opensource.org/licenses/MIT)
由您选择。
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交给TimeyWimey crate的任何贡献,将按照上述方式进行双重许可,不附加任何额外条款或条件。
依赖项
~3–16MB
~175K SLoC