当前位置: 首页 > 网络应用技术

GO工程师必须学习:跟踪GO大杀人装置的分析

时间:2023-03-06 19:49:41 网络应用技术

  大家好,我是炸鱼。

  不久前,我分享了“ GO计划崩溃了?”炸鱼教您使用Pprof工具来节省火!在真实程序中,例如:

  这些事情很难用PPROF进行分析,但是如果您想知道上面的答案,则可以使用本章的主角打开新世界的大门。

  开始快乐地吮吸鱼的道路。

  生成跟踪文件:

  启动可视化接口:

  查看可视化接口:

  在查看问题开始时,除非这是一个明确的现象,否则不应在开始时介绍细节。

  因此,我们通常会检查“调度潜在延展轮廓”。我们可以通过图表看到整体呼叫开销,如下所示:

  演示过程相对简单,因此这里有两个部分,一个是本身,另一个是发送和接收。

  第二步是查看“ Goroutine分析”。我们可以看到通过此功能通过此功能运行了多少个Goroutine。

  观察每个Goroutine的运营费用的哪个阶段。如下:

  通过上图,我们可以看到有3个Goroutine,其中是:

  他们在做什么?我们可以通过单击特定细节来观察。如下:

  同时,您还可以查看当前的goroutine在整个呼叫时间中的比例,以及等待GC清洁和GC的一些费用。

  如果您认为这还不够,则可以下载图表并进行分析,这相当于在运行时打开整个Goroutine。这可以帮助我们分析Goroutine操作阶段。然后决定下一个调查方向。

  如下:

  查看“查看跟踪”之间的关系,如下:

  我相信有些朋友会更具侵略性。我们可以根据注释来查看它,如下所示:

  单击特定的Goroutine行为后,您可以看到其相关详细信息。这件很简单。您可以在实际操作中理解它。文本说明如下:

  我们可以通过单击“查看选项”事件,以下事件等来查看应用程序操作中事件的流动。如下:

  通过分析地图上的事件流,我们可以知道:

  同时,我们可以通过其Goroutine名称理解其呼叫类型。如下:

  如果我们在开始时查看代码,很明显,输入和输出过程显然是。

  早上三点钟,生产环境中突然出现了一个问题。您已经埋葬了这个神奇的工具。

  被告在电话上醒来,以下命令以特定的方式执行:

  您很快看到了熟悉的列表接口,然后不相信邪恶的地方打开了视图跟踪接口,如下所示:

  完全看着您,稳定并继续扩大适当区域中快捷键的时间表,如下:

  经过初步研究,您发现上述大多数G与之相关,并且大量关联也是一个触发的动作。

  目前,您的内心深处有一个初步结论,并且可以继续跟踪“视图”痕迹。

  但是,建议先查看整个图片,因此让我们看一下“网络阻止配置文件”和“ Syscall Blocking配置文件”提供的信息。

  通过以下三项分析,加上此泄漏,限制了时间,涉及的内部方法名称显然是谁忘记了关闭客户连接。

  目前,我们可以进行下一张检查和修改。

  通过本文,我们了解了Wulin Secret,它可以跟踪和捕获各种执行的事件,例如:

  我希望您能很好地利用GO的两个主要杀手PPROF +跟踪组合。这是要检查伙伴。

  如果您有任何疑问,请欢迎评论领域的反馈和交流,最好的关系是相互实现。对您的称赞是制造炸鱼的最大动力。感谢您的支持。

  文章不断更新,您可以搜索[炸鱼中的大脑]以阅读。这篇文章githubgithub.com/eddycjy/blog已包括在内,欢迎您急忙。