请教各位大佬,知道一个服务的在线时间点和宕机时间点,如何计算服务总的宕机时长?

2022-03-30 17:36:01 +08:00
 awker
比如每分钟 curl 一个服务接口,成功返回 ok 和当前时间戳,失败返回 down 和当前时间戳
ok 时间戳 1
down 时间戳 2
down 时间戳 3
ok 时间戳 4
down 时间戳 5
ok 时间戳 6

如何计算服务总的宕机时长?
1025 次点击
所在节点    程序员
3 条回复
devswork
2022-03-30 17:41:49 +08:00
以 OK id=1 为例,查找下一次 ok 出现的 id ( 4 ),id-1 记录( 3 ) = 上一次宕机的时间戳,计算并存储宕机时长,然后查询 id = 上一次 ok 时的 id ( 4 ),循环遍历完数据表,时长求和
devswork
2022-03-30 17:43:36 +08:00
不断寻找 OK ,如果 OK 的上一个 id 还是 OK ,则直接 continue ,不计算
clf
2022-03-30 17:46:33 +08:00
简单点,down 的数量*请求间隔 就行了,比如你上面 6 个请求,3 个 down ,那就是停机 3 分钟。

毕竟是固定时间间隔请求的,不需要搞时序遍历去计算。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/843924

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX