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 檔案定義標準巨集、資料類型及子常式。