SkyWalking 的 Trace Profiling 代码级性能剖析

当应用中的服务(在 Skywalking 中称为端点 endpoints)出现高延迟时,可以创建追踪性能分析任务,进行代码级性能剖析。当 SkyWalking Agent 接收到性能分析任务时,它会在收到请求后,定期对与端点相关的线程堆栈进行采样。采样完成后,可以分析端点中的线程堆栈,以确定导致性能问题的特定业务代码行。

租户添加“调用链追踪”应用

使用租户管理员登录控制台,在应用服务管理中,添加“调用链追踪”应用,如下图所示

1763954246145

在企业门户的服务注册中,执行“自动发现并注册服务”

企业应用添加“调用链追踪代理”组件

在高延迟服务所在的应用中,添加调用链追踪代理组件,步骤如下。

打开应用的 IDE,切换到架构页签,从市场添加调用链追踪代理 SkyWalkingAgent 组件,如下图所示

在“架构”页签中,切换到“运行架构”,从组件面板添加“调用链追踪代理”组件到架构图中,设置“是否使用调用链追踪”属性为“true”,如下图所示

发布应用,用于性能分析

追踪性能分析

用 system 登录企业门户,打开 SkyWalking

1763954912324

在 SkyWalking 中,打开“常规服务→服务”菜单,Service 中列出当前租户内,已安装调用链追踪代理组件的应用,如果没有列出,请重启应用,并刷新 SkyWalking

1763954982825

选择要剖析的应用,并切换到 Trace Profiling 页面,点击“新建任务”按钮,创建性能分析任务

1763955028735

在端点名称中,选择要剖析的服务,如下图所示

1763955605840

服务的高延迟,如果稳定重现,最大采样数可以设置为1;如果不稳定重现,例如平均5次会出现1次高延迟,最大采样数至少设置为5。

根据情况设置监控开始时间、监控持续时间和监控间隔。点击“新建任务”按钮

1763955628206

任务创建成功,显示在任务列表中,如下图所示

1763955644355

在监控期间,按照最大采样数,调用服务,本例调用一次即可

1763955236349

监控时间到后,点击任务列表中的任务,在采样的追踪中显示采样记录,点击采样记录,右侧列表中显示追踪结果,选中最耗时的追踪记录,点击分析按钮,查看性能分析结果(调用堆栈)

1763955719861

点击“分析”按钮,右侧下面的列表中显示调用堆栈

1763955748070

找到耗时长的代码

1763955792297

根据堆栈确定代码位置

1763955841675

打开服务查看对应的代码

1763955871862

特别说明

  • 如果点击“分析”按钮没有反应,选中第一个 Span,再点击

results matching ""

    No results matching ""