Sous-routine perfstat_node
Objectif
Ces sous-routines extraient les statistiques de performances du type de sous-système pour un noeud distant. La liste des sous-routines est la suivante:
- noeud_put_perfstat_cpu_node
- perfstat_cpu_total_node
- noeud_disque_perfstat_node
- perfstat_disk_total_node
- perfstat_diskadapter_node
- perfstat_diskpath_node
- noeud perfstat_fcstat_node
- perfstat_volume_logique_node
- perfstat_memory_page_node
- perfstat_memory_total_node
- perfstat_netadapter_node
- perfstat_netbuffer_node
- perfstat_netinterface_node
- perfstat_netinterface_total_node
- perfstat_pagingspace_node
- perfstat_partition_total_node
- noeud_protocol_perfstat_node
- noeud_tape_perfstat_
- perfstat_tape_total_node
- perfstat_volumegroup_node
Bibliothèque
Bibliothèque Perfstat (libperfstat.a)
Syntaxe
#include <libperfstat.h>
int perfstat_cpu_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_cpu_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_cpu_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_cpu_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_disk_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_disk_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_disk_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_disk_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_diskadapter_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_diskadapter_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_diskpath_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_diskpath_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_fcstat_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_fcstat_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_logicalvolume_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_logicalvolume_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_memory_page_node (name, psize, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_psize_t *psize;
perfstat_memory_page_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_memory_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_memory_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_netadapter_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_netadapter_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_netbuffer_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_netbuffer_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_netinterface_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_netinterface_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_netinterface_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_netinterface_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_pagingspace_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_pagingspace_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_partition_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_partition_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_protocol_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_protocol_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_tape_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_tape_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_tape_total_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_tape_total_t *userbuff;
int sizeof_userbuff;
int desired_number;
int perfstat_volumegroup_node (name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_volumegroup_t *userbuff;
int sizeof_userbuff;
int desired_number Descriptif
Ces sous-routines renvoient les statistiques de performances du noeud distant dans leur structure perfstat_subsystem_t correspondante.
Toutes ces sous-routines sont appelées uniquement après l'activation de la collecte de statistiques de noeud ou de cluster en appelant la fonction perfstat_config :
perfstat_config
(PERFSTAT_ENABLE | PERFSTAT_CLUSTER_STATS, NULL)
La collecte de statistiques de noeud ou de cluster est désactivée après la collecte des données de noeud distant en appelant la fonction perfstat_config :
perfstat_config
(PERFSTAT_DISABLE | PERFSTAT_CLUSTER_STATS, NULL)
Pour obtenir les statistiques d'un noeud particulier du cluster, spécifiez la valeur Nom du noeud dans le paramètre name . Le paramètre userbuff doit être alloué. Le paramètre desired number doit être défini.
perfstat s'exécute appartiennent au même cluster.La sous-routine perfstat_fcstat_node ne fonctionne pas pour l'utilisateur non root.
Paramètres
| Article | Descriptif |
|---|---|
| name.u.nodename | Indique le nom du noeud. |
| name.spec | Indique le spécificateur de noeud. |
| name.name | Indique le premier composant pour lequel les statistiques sont collectées. Par exemple, hdisk0, hdisk1, cpu0et cpu1. |
| psize | Indique la taille de page pour laquelle les statistiques sont collectées. |
| userbuff | Pointe vers la zone de mémoire qui doit être remplie avec la structure perfstat_<subsystem>_t . |
| sizeof_userbuff | Indique la taille de la structure perfstat_<subsystem>_t . |
| desired_number | Indique le nombre de structures à renvoyer. |
Valeurs renvoyées
Une fois la sous-routine terminée, le nombre de structures disponibles est renvoyé. Sinon, la valeur -1 est renvoyée et la variable globale errno est définie pour indiquer l'erreur.
Codes d'erreur
La sous-routine perfstat_node échoue si une ou plusieurs des conditions suivantes sont remplies:
| Article | Descriptif |
|---|---|
EINVAL |
L'un des paramètres n'est pas valide. |
ENOENT |
Soit la collecte de statistiques de cluster n'est pas activée à l'aide de perfstat_config(), soit la collecte de statistiques de cluster n'est pas prise en charge actuellement. |
Fichiers
Le fichier libperfstat.h définit les macros standard, les types de données et les sous-routines.