支持分析C/C++程序代码识别性能瓶颈,给出对应的Top30热点函数和调用栈详情。通过火焰图展示函数的调用关系,发现优化路径。
操作实践可参见表1。
选择“通用分析”,打开新建任务页面。
参数 |
说明 |
---|---|
任务名称 |
输入分析任务的名称。名称需要满足如下要求:
|
选择节点 |
选择需要分析的节点;只有一个节点时默认勾选,最多支持10个节点。 |
分析对象 |
选择“系统”或“应用”。 |
模式 |
选择“Launch application”或“Attach to process”。 分析对象选择“应用”时需配置此参数。 |
应用路径 |
输入待分析应用的绝对路径。例如分析保存在“/home/test”目录下的“loop_test”应用,则输入:/home/test/loop_test 分析对象选择“应用”,模式选择“Launch application”时需配置此参数。
说明:
|
应用参数(可选) |
执行应用需要配置的参数,请根据实际应用场景填写。 分析对象选择“应用”,模式选择“Launch application”时可配置此参数。
说明:
多节点场景下,打开“配置指定节点参数”时各节点可单独配置该参数。 |
应用运行用户(可选) |
运行应用的操作系统用户信息。应用默认运行在工具内置devkitworker1用户下;如果应用运行对用户有依赖,需打开选项配置对应的用户密码后在对应用户下执行。 模式为“Launch application”时可配置,默认关闭。 |
用户名 |
输入运行应用的操作系统用户。 “应用运行用户”选项打开时需配置。 |
密码 |
输入用户的密码。 “应用运行用户”选项打开时需配置。 |
进程名称 |
输入进程名称,进程名称支持输入正则表达式。 分析对象选择“应用”,模式选择“Attach to process”时需配置此参数。 |
PID(可选) |
输入要分析的进程的PID,最多输入128个,中间用英文逗号分割。PID和进程名可以同时配置。 分析对象选择“应用”,模式选择“Attach to process”时可配置此参数。
说明:
|
分析类型 |
选择“热点函数分析”。 |
采样时长 (s) |
设置采集的时间,默认为30秒。取值范围1~1800秒。 随着采样时长增加,采集处理可能会因超过采集空间大小而终止,最大支持10GB。采样时长过长,采集处理时将消耗大量资源和时间,请根据任务适度配置。 |
采集调用栈(s)(可选) |
开启选项将采集并展示调用栈数据和火焰图,否则只采集top30热点函数。默认开启。 |
延迟采样时长(s) |
用于指定时间后执行分析,可以忽略程序的启动流程分析或用于采集程序热身,消除环境检测等带来的采集延迟。默认为0秒,取值范围0~900秒。 分析对象选择“应用”,模式选择“Launch application”时在“高级配置”中需配置此参数。 |
采样频率 (次/秒) |
设置每秒采样的次数,默认为100,取值范围1-500;在“高级配置”中需配置此参数。 |
采样范围(可选) |
选择采样范围。默认为“所有”,在“高级配置”中可配置此参数。可选择:
|
待采样CPU核(可选) |
输入CPU核编号;在“高级配置”中可配置此参数。
说明:
|
C/C++ 源文件目录 |
配置C/C++源文件工程目录。分析对象选择“应用”时,在“高级配置”中可配置此参数。 |
任务时间 |
配置任务是否立即执行,默认选择“立即执行”,可选“立即执行”和“预约定时启动”;“高级配置”中需配置。 选择“预约定时启动”时,需配置“采集方式”、“采集时间”和“采集日期”。 周期采集:该任务在采集周期内每天生效一次;周期采集需配置“采集时间”和“采集日期”。 单次采集:该任务只生效一次;单次采集需配置“采集日期和时间”。
说明:
|
当分析的程序进程较多,分析的数据量较大,可能会出现“任务超时失败”的情况。可通过减少“采样时长”或者增大“采样间隔”来避免这种情况的发生。
单击任务名称后面对应的图标可以执行如下操作: