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

指定叢集名稱。

指定叢集 ID 指定元。 應該設為 CLUSTERNAME。

使用者緩衝區 指定要填入 perfstat_node_t 結構的記憶體區域。
sizeof_userbuff 指定 perfstat_node_t 結構的大小。
desired_number 指定要傳回的結構數目。

回覆值

除非使用 perfstat_node_list 子常式來擷取可用結構數,否則會在順利完成時傳回填入的結構數。 如果不成功,則會傳回值 -1 ,並設定 errno 廣域變數。

錯誤碼

如果下列情況為真,則子常式不成功:

項目 說明
EINVAL 其中一個參數無效。
ENOENT 未使用 perfstat_config 啟用叢集統計資料收集,或目前不支援叢集統計資料收集。

檔案

libperfstat.h 檔案定義標準巨集、資料類型及子常式。