CRI ADX  Last Updated: 2024-07-17 10:48 p
CPU负荷测量

示例目录

/cri/pc/samples/criatomex/display_cpu_load


示例描述

在多重线程框架使用CRI Atom时,由于Server处理在与主线程分开的线程运行, 因此很难测量CRI Atom的CPU负荷。


CRI Atom提供性能监控器功能,可以轻松测量Server处理的负荷和执行间隔。
/* 初始化程序库 */
criAtomEx_Initialize(NULL, NULL, 0);
/* 添加性能监控器功能 */
/* 重置性能监控器 */
for(;;) {
/* V同步等待 */
criFwSys_WaitVsync();
/* 执行Server处理 */
/* 获取性能信息 */
}
/* 取消性能监控器功能 */
/* 结束程序库 */
void criAtomEx_Finalize(void)
Finalize the library
CriBool criAtomEx_Initialize(const CriAtomExConfig *config, void *work, CriSint32 work_size)
Initialize the library
#define criAtomEx_DetachPerformanceMonitor()
Remove the performance monitor
Definition: cri_le_atom_ex.h:408
void criAtomEx_ExecuteMain(void)
Execute the server processing
#define criAtomEx_GetPerformanceInfo(p_info)
Get the performance information
Definition: cri_le_atom_ex.h:431
#define criAtomEx_AttachPerformanceMonitor()
Add the performance monitor
Definition: cri_le_atom_ex.h:395
#define criAtomEx_ResetPerformanceMonitor()
Reset the performance monitor
Definition: cri_le_atom_ex.h:420
Performance information
Definition: cri_le_atom.h:872


  • 性能监控器的处理内容
    性能监控器功能在每次执行Server处理时,将上一次Server处理后的时间、 Server处理花费的时间进行累积,根据Server处理执行次数来计算平均值。
    此外,还保存了各个峰值,可以使用::criAtomEx_GetPerformanceInfo函数来获取任何信息。

  • 初始化性能监控器
    想要初始化性能监控器的信息时,请执行::criAtomEx_ResetPerformanceMonitor函数, 重置内部保存的性能统计信息。

可以用于在特定时间测量Server处理负荷,此外,当出现问题时, 例如发现服务器运行周期不稳定时,可以将其作为线索来调查原因。


示例使用的数据中AtomCraft项目的目录

/cri/tools/criatomex/examples/tutorial_data_for_runtime