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_node_list 서브루틴은 다음 perfstat API 호출을 사용하여 클러스터 통계 콜렉션을 사용으로 설정한 후에만 호출해야 합니다. perfstat_config (PERFSTAT_ENABLE | PERFSTAT_CLUSTER_STATS, NULL).
다음 perfstat API 호출을 사용하여 노드 목록을 수집한 후 클러스터 통계 콜렉션을 사용 안함으로 설정해야 합니다. perfstat_config (PERFSTAT_DISABLE | PERFSTAT_CLUSTER_STATS, NULL).
현재 노드가 참여하는 클러스터의 총 노드 수를 얻으려면 name 매개변수에 클러스터 이름을 지정해야 하고 userbuff 매개변수를 NULL로 지정해야 하며 desired_number 매개변수를 0으로 지정해야 합니다.
특정 클러스터 (현재 노드가 참여하는 클러스터) 의 노드 목록을 얻으려면 name 매개변수에 클러스터 이름을 지정해야 합니다. userbuff 매개변수를 할당해야 합니다. desired_number 매개변수를 설정해야 합니다.
매개변수
| 항목 | 설명 |
|---|---|
| name.nodenamename.spec | 클러스터 이름을 지정합니다. 클러스터 ID 지정자를 지정합니다. CLUSTERNAME으로 설정해야 합니다. |
| 사용자 버퍼 (userbuff) | perfstat_node_t 구조로 채워질 메모리 영역을 지정합니다. |
| 사용자 버퍼 크기 | perfstat_node_t 구조의 크기를 지정합니다. |
| desired_number | 리턴할 구조 수를 지정합니다. |
리턴 값
perfstat_node_list 서브루틴을 사용하여 사용 가능한 구조 수를 검색하지 않으면 성공적인 완료 시 채워진 구조 수가 리턴됩니다. 실패하면 -1 값이 반환되고 errno 전역 변수가 설정됩니다.
오류 코드
다음과 같은 경우 서브루틴은 실패합니다.
| 항목 | 설명 |
|---|---|
| EINVAL | 매개변수 중 하나가 올바르지 않습니다. |
| ENOENT | perfstat_config 를 사용하여 클러스터 통계 콜렉션을 사용할 수 없거나 클러스터 통계 콜렉션이 현재 지원되지 않습니다. |
파일
libperfstat.h 파일은 표준 매크로, 데이터 유형 및 서브루틴을 정의합니다.