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 文件定义标准宏,数据类型和子例程。