Profiling
Profiling (代码剖析)专门用于的收集和分析程序运行时的性能数据,以识别性能瓶颈和优化代码。Profiling 可以提供函数调用次数、执行时间、内存占用等细粒度的信息,帮助了解程序的性能表现和资源使用情况。
其价值包括但不限于:
- 精确问题定位:能够精确到代码方法和代码行,直接定位性能问题的具体位置,减少人力开发成本,避免反复增删埋点。
- 性能优化:通过分析 Profiling 数据,可以识别 CPU 和内存密集型代码,优化程序的性能热点,提高系统的整体性能。
- 资源管理:帮助开发者了解程序的资源使用情况,如 CPU 利用率、内存分配等,从而更好地管理资源,提升系统的效率。
- 代码行为分析:Profiling 数据以火焰图、形式呈现,从“是什么”到“为什么”进行深入分析,理解代码的行为表现。
Profiling 列表
Profiling 列表页面展示所有采集到代码剖析数据,可以帮助用户了解不同语言环境下应用程序运行过程中的动态性能数据。
上方搜索框,可以输入 Profie ID ,以快速过滤出目标数据。
左侧快捷筛选框,可以通过多种筛选项快速过滤出目标 Profiling 数据。Profiling 页面默认的筛选项有服务名称、主机、环境、版本、语言。
右侧数据列表,默认展示所选中时间段内,每条 Profiling 数据的发生时间、主机、语言。列表默认按照时间倒序排列,用户点击其他表头可自定义升序、倒序排列。
Profiling 详情
点击 Profiling 列表中某条数据,右侧弹出抽屉页展示详情。
上方两个下拉框,第一个可以选择不同的类型,第二个可以选择不同的方法。
中间火焰图,直观展示每一个执行方法的名称、调用层级关系、性能状况等。
右侧查看维度默认全选,也可以自由勾选出想要聚焦分析的数据。