大家好,我是炸鱼。
不久前,我分享了“ 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已包括在内,欢迎您急忙。