Sous-routine perfstat_diskpath
Objectif
Extrait les statistiques d'utilisation du chemin d'accès au disque individuel.
Bibliothèque
Bibliothèque Perfstat (libperfstat.a)
Syntaxe
#include <libperfstat.h>
int perfstat_diskpath (name, userbuff, sizeof_struct, desired_number)
perfstat_id_t *name;
perfstat_diskpath_t *userbuff
size_t sizeof_struct;
int desired_number;Descriptif
La sous-routine perfstat_diskpath extrait une ou plusieurs statistiques d'utilisation de chemin d'accès au disque individuel. La même fonction peut également être utilisée pour extraire le nombre d'ensembles disponibles de statistiques de chemin d'accès au disque.
Pour obtenir un ou plusieurs ensembles de métriques d'utilisation du chemin d'accès au disque, définissez le paramètre name sur le nom du premier chemin d'accès au disque pour lequel les statistiques sont souhaitées, puis définissez le paramètre desired_number . Pour commencer à partir du premier chemin d'accès au disque, indiquez "" ou FIRST_DISKPATH comme paramètre name . Pour commencer à partir du premier chemin d'accès d'un disque spécifique, définissez le paramètre name sur le nom du disque. Le paramètre userbuff doit toujours pointer vers une zone de mémoire suffisamment grande pour contenir le nombre souhaité de structures perfstat_diskpath_t qui seront copiées par cette fonction. A son retour, le paramètre name est défini sur le nom du chemin d'accès au disque suivant ou sur "" une fois que toutes les structures ont été copiées.
Pour extraire le nombre d'ensembles disponibles de métriques d'utilisation du chemin d'accès au disque, définissez les paramètres name et userbuff sur NULL et le paramètre desired_number sur 0. Le nombre d'ensembles disponibles est renvoyé.
La sous-routine perfstat_diskpath extrait des informations de la base de données ODM . Ces informations sont automatiquement mises en cache dans un dictionnaire qui est supposé être gelé une fois chargé. La sous-routine perfstat_reset doit être appelée pour vider le dictionnaire chaque fois que la configuration de la machine a été modifiée.
Pour améliorer les performances du système, la collecte des statistiques d'entrée et de sortie des disques est désactivée par défaut dans les versions actuelles d'AIX.
chdev -l sys0 -a iostat=truelsattr -E -l sys0 -a iostatUne autre façon d'activer la collecte des statistiques d'entrée et de sortie du disque consiste à utiliser l'API sys_parm et l'indicateur SYSP_V_IOSTRUN :
struct vario var;
sys_parm(SYSP_GET,SYSP_V_IOSTRUN, &var);struct vario var;
var.v.v_iostrun.value=1; /* 1 to set & 0 to unset */
sys_parm(SYSP_SET,SYSP_V_IOSTRUN, &var);Cette sous-routine n'est pas prise en charge dans une partition de charge de travail (WPAR). Il n'a pas connaissance d'une WPAR.
Paramètres
| Article | Descriptif |
|---|---|
| nom | Contient soit "", FIRST_DISKPATH, un nom identifiant le premier chemin de disque pour lequel les statistiques sont souhaitées, soit un nom identifiant un disque pour lequel les statistiques de chemin sont souhaitées. Par exemple : |
| buff utilisateur | Pointe vers la zone de mémoire à remplir avec une ou plusieurs structures perfstat_diskpath_t . |
| taille_struct | Indique la taille de la structure perfstat_diskpath_t : sizeof(perfstat_diskpath_t) |
| numéro_desired_ | Indique le nombre de structures perfstat_diskpath_t à copier dans userbuff. |
Valeurs renvoyées
A moins que la fonction 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 perfstat_diskpath échoue si l'une des conditions suivantes est vérifiée:
| Article | Descriptif |
|---|---|
| EINVAL | L'un des paramètres n'est pas valide. |
| EFAULT | Mémoire insuffisante. |
| ENOMEM | La longueur par défaut de la chaîne est trop courte. |
| ENOMSG | Impossible d'accéder au dictionnaire. |
Fichiers
Le fichier libperfstat.h définit les macros standard, les types de données et les sous-routines.