高级软件工程师教会小白的那些事(19)

我们可以通过将会话超时的值增加到8小时而不是原来的1小时来“修复”此bug。这似乎也可以解决这个问题,直到遇到下一次工作日放假——第二天早上的第一份研究报告将会失败。

这是调整参数或玩弄统计数据,以及修复根本原因这两者之间的一段舞蹈。

监控

这是我之前从未想过要做的事情。平心而论,在全职写代码之前,我从未维护过系统。我仅仅是建造它们,用了一个星期然后开始下一个项目。

通过使用两个系统,一个具有良好的监控功能,另一个则不具备,这让我懂得了监控的重要性。如果我都不知道它们的存在,我就无法修复bug。最糟糕的感受之一就是从客户那里知道有bug出现。“我在做什么?!我连我自己的系统出了什么问题都不知道?“

我认为监控由三个组件构成——日志记录,度量和警报。

代码写的日志就像人类日志一样,是一个渐进的过程。

找出可能需要监视的内容,记录这些内容,然后运行系统。随着时间的推移,你会发现一些bug,但你还没有充足的信息来解决它们。这是增强日志记录的好时机——你的代码中漏掉了什么?

推荐阅读