perfstat_thread_util 子例程

用途

计算线程利用率指标。

Perfstat 库 (libperfstat.a)

语法

#include <libperfstat.h>
int perfstat_thread_util (data,userbuff,sizeof_userbuff,desired_number)
perfstat_rawdata_t* data;
perfstat_thread_t* userbuff;
int sizeof_userbuff;
int desired_number;

描述

perfstat_thread_util 子例程提供线程利用率度量的接口。 perfstat_thread 子例程检索一个或多个内核线程统计信息以填充 perfstat_thread_t 数据结构。 perfstat_thread_util 子例程使用当前值和先前值来计算利用率度量。

如果 nameuserbuff 参数设置为 NULL ,并且 sizeof_userbuff 参数设置为 0 ,那么将返回 perfstat_thread_t 数据结构的当前版本的大小。

如果 desired_number 参数设置为 0 ,那么将返回 perfstat_rawdata_t 数据结构中的当前元素数。

参数

描述
DATA 指定数据参数的类型为 perfstat_rawdata_tperfstat_rawdata_t 数据结构使用当前值和先前值来计算利用率度量。
用户缓冲区 指向使用一个或多个 perfstat_thread_t 数据结构填充的内存区域。
大小用户缓冲区 指定 perfstat_thread_t 数据结构的大小。
注: 要获取最新版本的 perfstat_thread_t 数据结构的大小,请将 sizeof_userbuff 参数设置为 0 ,并将 nameuserbuff 参数设置为 NULL。
期望数 (desired_number) 指定要复制到 userbuff 参数的 perfstat_thread_t 数据结构的数目。

返回值

除非使用 perfstat_thread_util 子例程来检索可用结构数,否则成功完成时将返回填充的结构数。 如果不成功,则返回值为-1并设置errno全局变量。

错误代码

如果满足以下条件,那么子例程不成功:

描述
EINVAL 其中一个参数无效。

文件

libperfstat.h 文件定义标准宏,数据类型和子例程。