登录
首页 >  Golang >  Go问答

如何在整个生命周期中跟踪给定请求的完整路径?

来源:stackoverflow

时间:2024-02-26 18:21:25 367浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《如何在整个生命周期中跟踪给定请求的完整路径?》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

有没有办法从跟踪生命周期的任何地方获取完整的跟踪请求?

基本上,如果我有跟踪的中间点或终点,我可以使用这些点来获取请求的完整跟踪吗?

我想构建一个跟踪服务(在 Golang 中),只要用户在请求跟踪期间随时提供点/跨度,该服务就可以返回请求的完整跟踪。

我尝试搜索并查看是否有任何项目提到了向后跟踪或类似的内容。

目前,使用 Datadog 等其他跟踪器,在给定任何非开始点的情况下,不可能获取完整请求的跟踪。


正确答案


在 OpenTelemetry 中,跟踪 ID 为 immutable,并且对于整个逻辑请求而言是相同的(假设为 W3C Headers)。跟踪是有向无环图,这意味着可以通过查找具有相同跟踪 ID 的所有跨度,然后按其边(由跨度 ID 和父跨度 ID 字段确定)对它们进行排序来确定排序。这意味着只要您拥有所有可用的跨度,您就可以非常轻松地“回顾” - 您只需查找与您拥有的跨度具有相同跟踪 ID 的所有内容,然后创建图表。

理论要掌握,实操不能落!以上关于《如何在整个生命周期中跟踪给定请求的完整路径?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>