创建热点函数分析任务
功能描述
支持分析C/C++程序代码识别性能瓶颈,给出对应的Top30热点函数和调用栈详情。通过火焰图展示函数的调用关系,发现优化路径。
操作实践可参见表1。
前提条件
不存在“离线”状态的节点。
创建热点函数分析任务
- 单击系统性能分析后面的 。 。选择“通用分析”,打开新建任务页面。 
- 参考“任务管理”和表2配置任务参数。新建热点函数分析任务,如图1所示。表2 新建热点函数分析任务参数说明 参数 说明 任务名称 输入分析任务的名称。名称需要满足如下要求: - 只能由中文、字母、数字和下划线组成
- 长度为1~64个字符
 分析类型 选择“热点函数分析”。 选择节点 选择需要分析的节点;只有一个节点时默认勾选,最多支持10个节点。 分析对象 选择“系统”或“应用”。 模式 选择“Launch application”或“Attach to process”。 分析对象选择“应用”时需配置此参数。 应用运行用户(可选) 运行应用的操作系统用户信息。应用默认运行在工具内置devkitworker1用户下;如果应用运行对用户有依赖,需打开选项配置对应的用户密码后在对应用户下执行。 模式为“Launch application”时可配置,默认关闭。 用户名 输入运行应用的操作系统用户。 “应用运行用户”选项打开时需配置。 密码 输入用户的密码。 “应用运行用户”选项打开时需配置。 应用路径 输入待分析应用的绝对路径。例如分析保存在“/home/test”目录下的“loop_test”应用,则输入:/home/test/loop_test 分析对象选择“应用”,模式选择“Launch application”时需配置此参数。 说明:- 默认分析“/opt/”或者“/home/”目录下的应用,管理员用户可在首页右上方的“ >工具设置>系统性能分析>系统设置”中,手动配置“应用程序路径配置”,路径之间采用分号分隔。仅管理员用户可修改,普通用户只有查看权限。 >工具设置>系统性能分析>系统设置”中,手动配置“应用程序路径配置”,路径之间采用分号分隔。仅管理员用户可修改,普通用户只有查看权限。应用程序路径建议配置为“/home”、“/opt”等,请不要配置为“/”、“/dev”、“/sys”、“/boot”等系统目录,否则可能导致系统异常。 
- 对于保存应用的目录,系统性能分析工具程序的操作系统运行用户(devkitworker1)对于待分析的应用需要有可读可执行权限。
- 多节点场景下,打开“配置指定节点参数”选项可单独配置各节点的该参数。
 应用参数(可选) 执行应用需要配置的参数,请根据实际应用场景填写。 分析对象选择“应用”,模式选择“Launch application”时可配置此参数。 说明:多节点场景下,打开“配置指定节点参数”时各节点可单独配置该参数。 PID 输入要分析的进程的PID,最多输入128个,中间用英文逗号分割;进程名称和PID选择一个填写。 分析对象选择“应用”,模式选择“Attach to process”时可配置此参数。 说明:- “Attach to process”针对正在运行的应用程序(系统性能分析工具程序的操作系统运行用户(devkitworker1)针对运行的应用程序需要有可读权限),通过关联到运行该应用程序的PID的方式,来实时跟踪和采集该应用程序的性能数据。
- 进程的PID可执行ps -ef | grep 程序名称查询。
- 打开“配置指定节点参数”时各节点可单独配置该参数。
 进程名称 输入进程名称,进程名称支持输入正则表达式;进程名称和PID选择一个填写。 分析对象选择“应用”,模式选择“Attach to process”时需配置此参数。 采样时长(s) 设置采集的时间,默认为30秒。取值范围1~1800秒。 随着采样时长增加,采集处理可能会因超过采集空间大小而终止,最大支持10GB。采样时长过长,采集处理时将消耗大量资源和时间,请根据任务适度配置。 采集调用栈(s)(可选) 开启选项将采集并展示调用栈数据和火焰图,否则只采集top30热点函数。默认开启。 延迟采样时长(s) 用于指定时间后执行分析,可以忽略程序的启动流程分析或用于采集程序热身,消除环境检测等带来的采集延迟。默认为0秒,取值范围0~900秒。 分析对象选择“应用”,模式选择“Launch application”时在“高级设置”中需配置此参数。 采样频率(次/秒) 设置每秒采样的次数,默认为100,取值范围1-500;在“高级设置”中需配置此参数。 采样范围(可选) 选择采样范围。默认为“所有”,在“高级设置”中可配置此参数。可选择: - 所有:采集应用层和OS内核的性能数据
- 用户态:采集应用层的性能数据
- 内核态:采集OS内核的性能数据
 待采样CPU核(可选) 输入CPU核编号;在“高级设置”中可配置此参数。 说明:- 该参数针对某些CPU核进行性能分析的场景,如需要观察某应用程序在某个CPU核上的性能数据,需要在此输入对应的CPU核,取值范围是0~(服务器总CPU核数 - 1)。举例:如16核CPU的服务器,可以输入“0,1,2,10”,表示针对CPU的第0、1、2、10核进行性能数据采集和分析。
- 打开“配置指定节点参数”时各节点可单独配置该参数。
 dwarf 配置是否采集函数对应的源码信息,默认关闭;开启后可能会增加分析步骤时长;在“高级设置”中可配置。 C/C++ 源文件目录 配置C/C++源文件工程目录。分析对象选择“应用”,在“高级设置”中“dwarf”开启时可配置此参数。   当分析的程序进程较多,分析的数据量较大,可能会出现“任务超时失败”的情况。可通过减少“采样时长”或者增大“采样频率”来避免这种情况的发生。 
- 单击“确认”完成分析任务的创建。单击任务名称后面对应的图标可以执行如下操作:  :取消分析任务,取消分析任务后,已采集的信息会被删除。 :取消分析任务,取消分析任务后,已采集的信息会被删除。
 :重启分析任务,可修改任务参数配置并重新启动分析任务,取消任务或任务失败时可使用。 :重启分析任务,可修改任务参数配置并重新启动分析任务,取消任务或任务失败时可使用。
 :删除分析任务,删除分析任务会将该分析任务下的数据都删除,请谨慎操作。 :删除分析任务,删除分析任务会将该分析任务下的数据都删除,请谨慎操作。
 :再次分析任务,自动命名任务并重新启动分析任务。 :再次分析任务,自动命名任务并重新启动分析任务。
 :新建分析任务的对比分析。 :新建分析任务的对比分析。
 :修改任务或报告名称,可修改对应任务或报告名称(报告名称规则同任务名称一致)。 :修改任务或报告名称,可修改对应任务或报告名称(报告名称规则同任务名称一致)。
  :创建对比分析任务,可生成差分火焰图。 :创建对比分析任务,可生成差分火焰图。
 
