Sous-routine perfstat_thread
Objectif
Extrait les métriques d'utilisation des unités d'exécution du noyau.
Bibliothèque
Bibliothèque Perfstat (libperfstat.a)
Syntaxe
#include <libperfstat.h>
int perfstat_thread (name,userbuff,sizeof_userbuff,desired_number)
perfstat_id_t* name;
perfstat_thread_t* userbuff;
int sizeof_userbuff;
int desired_number; Descriptif
La sous-routine perfstat_thread est utilisée pour extraire les métriques d'utilisation de chaque unité d'exécution du noyau pour un processus ou pour tous les processus. La sous-routine perfstat_thread extrait une ou plusieurs statistiques d'unité d'exécution du noyau pour remplir la structure de données perfstat_thread_t .
Si les paramètres name et userbuff sont définis sur NULL et que le paramètre desired_number est défini sur 0, la sous-routine perfstat_thread renvoie le nombre d'unités d'exécution actives.
Si les paramètres name et userbuff sont définis sur NULL et que le paramètre sizeof_userbuff est défini sur 0, la taille de la version en cours de la structure de données perfstat_thread_t est renvoyée.
Paramètres
| Article | Descriptif |
|---|---|
| nom | Détermine si les statistiques d'unité d'exécution du noyau doivent être capturées pour tous les processus ou pour un processus spécifique. Le paramètre name doit être défini sur NULL pour obtenir les statistiques d'unité d'exécution du noyau pour tous les processus. Pour obtenir les statistiques d'unité d'exécution du noyau pour un processus spécifique, l'ID de processus doit être spécifié. Remarque: La valeur de l'ID doit être transmise sous forme de chaîne au paramètre name . Par exemple, pour extraire les statistiques d'un processus dont l'ID de processus est 12345, le paramètre name doit être défini sur 12345.
|
| buff utilisateur | Pointe vers la zone de mémoire remplie avec une ou plusieurs structures de données perfstat_thread_t . |
| taille_utilisateur_tampon | Indique la taille de la structure de données perfstat_thread_t . Remarque: Pour obtenir la taille de la dernière version de la structure de données perfstat_thread_t , définissez le paramètre sizeof_userbuff sur 0 et le paramètre name et userbuff sur NULL.
|
| numéro_desired_ | Indique le nombre de structures de données perfstat_thread_t à copier dans le paramètre userbuff . |
Valeurs renvoyées
A moins que la sous-routine perfstat_thread 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 échoue si les conditions suivantes sont remplies:
| 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.