响应流程需要记录时间戳以支持事后复盘
别名: 报警时间线 · response chronology
概念解释
报警响应时间线记录的是触发、送达、知悉、第一次动作、过程恢复和验证关闭这一整串环节各自发生的时间,目的是把设备层面的技术事件和人员层面的决策动作对齐到同一条时间轴上,从而判断响应延迟具体出现在哪一个环节,而不是只在系统里留下最后一次点确认的时间戳。这条讨论的是时间记录本身该怎么做,状态怎么拆分、由谁确认、超时怎么升级,分别是同组另外三叶的内容。
机制
事后复盘依赖的是把各个事件按照真实的因果顺序排列出来,但如果整套系统缺少一个统一的时基,现场设备毫秒级的日志、服务器接收消息的时间和人工事后补录的记录,彼此之间就会互相矛盾,谁也说服不了谁。每一个时间戳都必须说明它的来源是什么、代表的具体含义是什么——是设备产生这个信号的时刻,还是服务器收到它的时刻,还是人在界面上点击的时刻——同时必须保留最原始的事件发生时间,不能让后续加工覆盖掉它。
边界
不同设备和系统之间的时钟本身存在同步误差,操作员的手动动作也可能是先在现场处理完,事后才回到系统里补录,所以这条时间线是复盘时用来推理的证据,而不是绝对无误的真相。记录精度应该和实际要回答的问题相匹配——用显示到秒甚至毫秒的数字,去描述一个本来就有几分钟同步误差的过程,只会制造一种虚假的精确感,反而误导复盘的结论。
怎么落地
分别记录事件源头产生的时间、系统接收到它的时间,以及人机交互发生的时间这三类时间戳,同时监测各个时钟之间的偏差,并且给事后补录的记录打上明确标记,让复盘的人知道哪些数据是实时产生的、哪些是补录的。导出用于复盘的时间序列必须是不可覆盖的原始记录。故障注入测试要专门覆盖网络断开后消息延迟到达、跨系统事件排序,以及夏令时或跨时区场景下时间戳是否依然保持正确顺序这几类情况。