perfstat_node_list 子例程
用途
检索集群中的节点列表。
库
perfstat 库 (libperfstat.a)
语法
#include <libperfstat.h>
int perfstat_node_list ( name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_node_t *userbuff;
int sizeof_userbuff;
int desired_number; 描述
perfstat_node_list 子例程返回 perfstat_node_t 结构中的节点列表。
仅应在使用以下 perfstat API 调用启用集群统计信息收集后调用 perfstat_node_list 子例程: perfstat_config (PERFSTAT_ENABLE | PERFSTAT_CLUSTER_STATS , NULL)。
使用以下 perfstat API 调用收集节点列表后,必须禁用集群统计信息收集: perfstat_config (PERFSTAT_DISABLE | PERFSTAT_CLUSTER_STATS , NULL)。
要获取集群中的节点总数 (当前节点参与其中) ,必须在 name 参数中指定集群名称,必须将 userbuff 参数指定为 NULL ,并且必须将 desired_number 参数指定为零。
要获取特定集群 (当前节点参与其中) 中的节点列表,必须在 name 参数中指定集群名称。 必须分配 userbuff 参数。 必须设置 desired_number 参数。
注: 集群名称应该是当前节点 (运行 perfstat API 调用的节点) 参与的集群之一。
参数
| 项 | 描述 |
|---|---|
| name.nodenamename.spec | 指定集群名。 指定集群标识说明符。 应设置为 CLUSTERNAME。 |
| 用户缓冲区 | 指定要使用 perfstat_node_t 结构填充的内存区域。 |
| 大小用户缓冲区 | 指定 perfstat_node_t 结构的大小。 |
| 期望数 (desired_number) | 指定要返回的结构数。 |
返回值
除非使用 perfstat_node_list 子例程来检索可用结构数,否则成功完成时将返回填充的结构数。 如果不成功,则返回值为-1并设置errno全局变量。
错误代码
如果满足以下条件,那么子例程不成功:
| 项 | 描述 |
|---|---|
| EINVAL | 其中一个参数无效。 |
| ENOENT | 未使用 perfstat_config 启用集群统计信息收集,或者当前不支持集群统计信息收集。 |
文件
libperfstat.h 文件定义标准宏,数据类型和子例程。