Sous-routine perfstat_node_list
Objectif
Extrait la liste des noeuds d'un cluster.
Bibliothèque
Bibliothèque perfstat (libperfstat.a)
Syntaxe
#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; Descriptif
La sous-routine perfstat_node_list renvoie la liste des noeuds d'une structure perfstat_node_t .
La sous-routine perfstat_node_list doit être appelée uniquement après l'activation de la collecte de statistiques de cluster à l'aide de l'appel d'API perfstat suivant: perfstat_config (PERFSTAT_ENABLE | PERFSTAT_CLUSTER_STATS, NULL).
La collecte de statistiques de cluster doit être désactivée après la collecte de la liste de noeuds à l'aide de l'appel d'API perfstat suivant: perfstat_config (PERFSTAT_DISABLE | PERFSTAT_CLUSTER_STATS, NULL).
Pour obtenir le nombre total de noeuds d'un cluster (auquel participe le noeud en cours), le nom du cluster doit être spécifié dans le paramètre name , le paramètre userbuff doit être défini sur NULL et le paramètre desired_number doit être défini sur zéro.
Pour obtenir la liste des noeuds d'un cluster particulier (auquel participe le noeud en cours), le nom du cluster doit être spécifié dans le paramètre name . Le paramètre userbuff doit être alloué. Le paramètre desired_number doit être défini.
Paramètres
| Article | Descriptif |
|---|---|
| name.nodenamename.spec | Précise le nom du cluster. Indique le spécificateur d'ID de grappe. Doit être défini sur CLUSTERNAME. |
| buff utilisateur | Indique la zone de mémoire à remplir avec la structure perfstat_node_t . |
| taille_utilisateur_tampon | Indique la taille de la structure perfstat_node_t . |
| numéro_desired_ | Indique le nombre de structures à renvoyer. |
Valeurs renvoyées
A moins que la sous-routine perfstat_node_list ne soit utilisée pour extraire le nombre de structures disponibles, le nombre de structures remplies est renvoyé lorsque l'opération aboutit. En cas d'échec, la valeur -1 est renvoyée et la variable globale errno est définie.
Codes d'erreur
La sous-routine échoue si les conditions suivantes sont remplies:
| Article | Descriptif |
|---|---|
| EINVAL | L'un des paramètres n'est pas valide. |
| ENOENT | La collecte de statistiques de cluster n'est pas activée à l'aide de perfstat_config ou la collecte de statistiques de cluster n'est actuellement pas prise en charge. |
Fichiers
Le fichier libperfstat.h définit les macros standard, les types de données et les sous-routines.