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.

Remarque: Le noeud distant et le noeud en cours dans lequel l'appel d'API 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

Tableau 1. 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:

Tableau 2. Codes d'erreur
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.