鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

使用KUPL PROF进行全量的函数时序统计

KUPL对外提供 profile和trace两个工具,来提供运行时的时序统计,通过动态链接到prof对应的动态链接库来使能profile和trace功能。

  1. 通过setvars.sh --kupl_mode=prof链接到 prof 动态链接库。
  2. 运行程序时额外添加 KUPL_PROF_LEVEL=statistic来开启特定的函数累计计时,KUPL_PROF_LEVEL=trace来开启全量的函数时序统计。
  3. 程序运行结束时,如果开启了 KUPL_PROF_LEVEL=statistic或 KUPL_PROF_LEVEL=trace则会在结尾生成 “函数累计计时报告“,如果开启了 KUPL_PROF_LEVEL=trace 还可以在程序运行目录下生成 ptrace 文件,其中包含各个进程中各个线程运行情况的统计文件(以.json文件保存),该文件可以通过chrome://tracing网页(请使用chrome 94以上版本的Chrome浏览器运行)来观看可视化版本报告(即把想要观看的文件导入进网页)。
    表1 profile的msg字段说明:

    信息名称

    描述

    pthread_executor_get_sched

    获取调度表

    parallel_for_static_submit_taskbase

    静态并行for循环提交任务

    parallel_for_info_destroy_create

    并行for循环信息销毁并创建

    task_execute

    执行任务

    task_finish

    任务完成

    ult_execute

    用户级线程执行

    ult_finish

    用户级线程结束

    sched_add_taskbase

    添加任务库

    sched_get_taskbase

    获取任务库

    通过网页观看可视化版本报告建议使用Chrome浏览器。