文章目录
gRPC的请求追踪
前言
我们来回顾一下之前分享的知识点:
介绍了基本你的gRPC的使用方式,框架,交互方式等
分享了gRPC的四种认证方式中重要的2种方式,有兴趣可以点击看看哦
整理了openssl 证书的生成,关键点已经高亮标注,值得一看
gRPC生态中的中间件,主要是做统一认证工作,不必要在每一个接口中都写一次认证方式
文章中有分享gRPC的各种功能的中间件,有兴趣可以点击链接,大佬们还请不吝赐教
go tool trace
今天我们来介绍一下go的请求追踪,也就是说go Trace ,分享trace有如下几个原因:
- 学习完
trace
之后,你能够自己去实践,清晰的了解整个程序的调用栈 - 可以通过追踪器捕获大量信息,如图
- 可以更快的解决我们项目中的疑难杂症
我们或许都有这样的体会,自己思考明白,设计出来的程序,可以很清晰明了的将细节解释明白,对功能的增删改也是可以做到灵活应对。
可是让我们一下子去修改别人写的功能或模块的时候,很多时候会一脸懵逼,这也不敢动,那也不敢动,在不理解的情况下,有疑问,一定要问清楚原理和逻辑,否则搞不好就是线上问题。
如上情况,最重要的一个原因就是自己对当前模块/功能的熟悉程度,以及自己的思维模型是否可迁移。
总而言之,对程序,要有敬畏之心,好奇之心,持之以恒专研下去,要有解决问题的决心。
用go tool trace具体哪些地方合适,哪些地方不合适?
不合适
- 运行缓慢的函数,或者找到大部分CPU时间花费在哪里,术业有专攻,看CPU时间花费,是有专门的工具的
go tool pprof
合适
- 找出程序在一段时间内正在做什么
go tool trace
可以通过view trace
链接提供的其他可视化功能,对于诊断争用问题帮助极大 </