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 매개변수를 설정해야 합니다.

참고: 클러스터 이름은 현재 노드 (perfstat API 호출이 실행되는) 가 참여 중인 클러스터 중 하나여야 합니다.

매개변수

항목 설명
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 파일은 표준 매크로, 데이터 유형 및 서브루틴을 정의합니다.