SuperAPI AI 工具集

profiling-api

编程与开发

查看项目

更新于 10-16 02:34

技能介绍

用途:为 Carbonite/Kit 生态中的 C++ 与 Python 代码添加性能分析区域(zone)、数值指标和事件注解,便于采集与分析性能轨迹。

主要能力:C++ 侧提供 CARB_PROFILE_ZONE(RAII 作用域区域)、CARB_PROFILE_FUNCTION(自动函数名)、CARB_PROFILE_BEGIN/END(手动)、GPU 区域宏(CARB_PROFILE_CREATE_GPU_CONTEXT、CARB_PROFILE_GPU_QUERY_BEGIN/END/SET_QUERY_VALUE)以及 CARB_PROFILE_VALUE 记录 Tracy Plot 数值。Python 侧提供 @carb.profiler.profile 装饰器、begin/end 手动接口,以及完整 IProfiler 接口(value_float/value_int/value_uint、instant、flow、frame、set_python_profiling_enabled 等)。

掩码与通道:64 位掩码控制采集范围,常用 kCaptureMaskNone/All/Default/Profiler;通道可通过 --/profiler/channels/<name>/enabled=true|false 运行时开关。建议先用 --/app/profilerMask=1 粗粒度采集,再逐步细化。

事件注解:支持 InstantType.THREAD/PROCESS 即时事件与 FlowType.BEGIN/END 跨线程流,可用 --/plugins/carb.profiler-tracy.plugin/instantEventsAsMessages=true 显示为 Tracy 消息。

后端:CPU ChromeTrace(.json/.gz)、Tracy(.tracy 实时)、NVTX(.nsys-rep)。

限制:自动 Python 函数捕获(CARB_PROFILING_PYTHON=1)开销显著,Tracy 文件约增大 4 倍,禁止在基准测量阶段使用;GPU 区域需在 Tracy 中启用相关设置。其余细节暂未提供。