Sous-routine perfstat_netbuffer
Objectif
Extrait les statistiques d'utilisation de la mémoire tampon du réseau.
Bibliothèque
Bibliothèque Perfstat (libperfstat.a)
Syntaxe
#include <libperfstat.h>
int perfstat_netbuffer (name, userbuff, sizeof_struct, desired_number)
perfstat_id_t *name;
perfstat_netbuffer_t *userbuff;
size_t sizeof_struct;
int desired_number;Descriptif
La sous-routine perfstat_netbuffer extrait des statistiques sur les allocations de mémoire tampon réseau pour chaque taille de mémoire tampon possible. Les comptages renvoyés sont la somme des statistiques d'allocation pour tous les processeurs (les statistiques du noyau sont conservées par taille par processeur) correspondant à une taille de mémoire tampon.
Pour obtenir un ou plusieurs ensembles de métriques d'utilisation de la mémoire tampon du réseau, définissez le paramètre name sur la taille de la mémoire tampon du réseau pour laquelle les statistiques sont souhaitées, puis définissez le paramètre desired_number . Pour commencer à partir de la première taille de mémoire tampon réseau, indiquez "" ou FIRST_NETBUFFER dans le paramètre name . Le paramètre userbuff doit pointer vers une zone de mémoire suffisamment grande pour contenir le nombre souhaité de structures perfstat_netbuffer_t qui seront copiées par cette fonction.
A son retour, le paramètre name sera défini sur la taille ASCII du type de mémoire tampon suivant ou sur "" si toutes les structures ont été copiées. Seules les statistiques relatives aux tailles de mémoire tampon du réseau qui ont été utilisées sont renvoyées. Par conséquent, il peut y avoir des trous dans le tableau de statistiques renvoyé, et la structure correspondent à des allocations de taille 4096 peut directement suivre la structure pour la taille 256 (dans le cas où 512, 1024 et 2048 n'ont pas encore été utilisés). La structure correspondant à une taille de mémoire tampon non encore utilisée est renvoyée (avec toutes les zones définies sur 0) lorsqu'elle est directement demandée par nom.
Pour extraire le nombre d'ensembles disponibles de métriques d'utilisation de la mémoire tampon du réseau, définissez les paramètres name et userbuff sur NULL et le paramètre desired_number sur 0. La valeur renvoyée sera le nombre d'ensembles disponibles.
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 "", FIRST_NETBUFFER ou la taille de la mémoire tampon du réseau en ASCII. C'est une puissance de 2. Par exemple : |
| buff utilisateur | Pointe vers la zone de mémoire à remplir avec une ou plusieurs structures perfstat_netbuffer_t . |
| taille_struct | Indique la taille de la structure perfstat_netbuffer_t : sizeof(perfstat_netbuffer_t) |
| numéro_desired_ | Indique le nombre de structures perfstat_netbuffer_t à copier dans userbuff. |
Valeurs renvoyées
Une fois l'opération terminée, le nombre de structures pouvant être remplies est renvoyé. En cas d'échec, la valeur -1 est renvoyée et la variable globale errno est définie.
Codes d'erreur
| Article | Descriptif |
|---|---|
| EINVAL | L'un des paramètres n'est pas valide. |
Fichiers
Le fichier libperfstat.h définit les macros standard, les types de données et les sous-routines.