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.

Pour activer la collecte de ces données, exécutez:
chdev -l sys0 -a iostat=true
Pour afficher le paramètre en cours, exécutez:
lsattr -E -l sys0 -a iostat

Une 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 :

Pour obtenir le statut en cours de l'indicateur, exécutez la commande suivante:
struct vario var;
sys_parm(SYSP_GET,SYSP_V_IOSTRUN, &var);
Pour définir l'indicateur, exécutez la commande suivante:
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 :
hdisk0_Path2, hdisk1_Path0, ... or hdisk5 (equivalent to hdisk5_Pathfirstpath)
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.