Answers
我能想到的有:
- 一个请求ID(request id),可以是字符串或者64位整数,用于串联一个请求经过的多个模块
- 服务类型标示符,因为一个模块可能暴露多个不同功能的接口
- 上游请求的参数,参数过多过大的话,挑一些重要的打印出来,可以将完整的参数打印到debug log中
- 模块返回的数据,策略同上一条
- 模块响应时间,最好将一次请求经历的各个阶段的响应时间分别打出来,用于分析模块的性能
- 请求过程中的错误信息,例如文件无法打开、请求下游模块失败/超时、参数不合法等等
以上这些信息的目的,1)记录当前模块性能水平、模块是否正常运行;2)出现错误可以及时知晓,并且能够找到上下游模块对应的请求,方便构造请求;3)进行产品数据分析,对产品在设计/功能上进行评估。
秒速⑤厘米
answered 9 years, 9 months ago