现在线上的程序逻辑比较复杂,协程较多。有的时候会碰到一些异常问题,需要一个较好的 bug 追踪方案。
目前我们的做法是起一个 safemap,维护一个 map[GoroutineID]map[描述][状态] 的结构,代码中在需要得时候更新这个数据结构,比如开始收集信息、收集信息结束之类得。
需要收集得不光是 error 信息,还可能包含程序某个协程逻辑运行到哪里了。
此功能默认不开启。需要 debug 时通过访问程序得一个 http 接口来开启此功能,然后通过接口获取 safemap 的数据。
现在感觉这种方案太原始了,不知道有没有更好的方案,求大家推荐
谢谢
目前我们的做法是起一个 safemap,维护一个 map[GoroutineID]map[描述][状态] 的结构,代码中在需要得时候更新这个数据结构,比如开始收集信息、收集信息结束之类得。
需要收集得不光是 error 信息,还可能包含程序某个协程逻辑运行到哪里了。
此功能默认不开启。需要 debug 时通过访问程序得一个 http 接口来开启此功能,然后通过接口获取 safemap 的数据。
现在感觉这种方案太原始了,不知道有没有更好的方案,求大家推荐
谢谢