Sous-routine perfstat_process

Objectif

Extrait les métriques d'utilisation des processus.

Bibliothèque

bibliothèque perfstat (libperfstat.a)

Syntaxe

#include <libperfstat.h>

int perfstat_process (name, userbuff, sizeof_userbuff, desired_elements)
perfstat_id_t * name;
perfstat_process_t * userbuff;
int sizeof_userbuff;
int desired_number;

Descriptif

La sous-routine perfstat_process est l'interface pour les métriques d'utilisation par processus. La sous-routine perfstat_process extrait une ou plusieurs statistiques de processus pour remplir la structure de données perfstat_process_t . Si les paramètres name et userbuff sont définis sur NULL et que le paramètre desired_elements est défini sur 0, la sous-routine perfstat_process renvoie le nombre de processus actifs, à l'exclusion des processus en attente. 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 actuelle de la structure de données perfstat_process_t est renvoyée.

Remarque: Pour améliorer les performances, la collecte des statistiques de disque de portée de processus est désactivée par défaut. Pour activer la collecte de ces données, entrez la commande suivante:
schedo -p -o proc_disk_stats=1

Paramètres

Tableau 1. Paramètres
Article Descriptif
nom

Détermine si les statistiques 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 de tous les processus. Pour un processus spécifique, l'ID de processus doit être mentionné.

Remarque: L'ID de processus doit être transmis sous forme de chaîne. Par exemple, pour extraire les statistiques d'un processus avec l'ID processus 5478, le paramètre name doit être défini sur 5478.
buff utilisateur

Pointe vers la zone de mémoire qui doit être remplie avec une ou plusieurs structures de données perfstat_process_t .

taille_utilisateur_tampon

Indique la taille de la structure de données perfstat_process_t .

Remarque: Pour obtenir la taille de la dernière version de la structure de données perfstat_process_t , définissez le paramètre sizeof_userbuff sur 0 et le paramètre name et userbuff sur NULL.
éléments desired_elements

Indique le nombre de structures de données perfstat_process_t à copier dans le paramètre userbuff .

Valeurs renvoyées

A moins que la sous-routine perfstat_process 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_process échoue si le code d'erreur suivant est true:

Tableau 2. 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.