pm_get_data, pm_get_tdata, pm_get_Tdata, pm_get_data_cpu, pm_get_tdata_cpu, pm_get_Tdata_cpu, pm_get_data_lcpu, pm_get_tdata_lcpu et pm_get_Tdata_lcpu Sous-routine
Objectif
Renvoie les données du moniteur de performances à l'échelle du système.
Bibliothèque
Bibliothèque d'API Performance Monitor (libpmapi.a)
Syntaxe
#include <pmapi.h>
int pm_get_data ( *pmdata)
pm_data_t *pmdata;
int pm_get_tdata (pmdata, * time)
pm_data_t *pmdata;
timebasestruct_t *time;
int pm_get_Tdata (pmdata, * times)
pm_data_t *pmdata;
pm_accu_time_t *times;
int pm_get_data_cpu (cpuid, *pmdata)
int cpuid;
pm_data_t *pmdata;
int pm_get_tdata_cpu (cpuid, *pmdata, *time)
int cpuid;
pm_data_t *pmdata;
timebasestruct_t *time;
int pm_get_Tdata_cpu (cpuid, *pmdata, *times)
int cpuid;
pm_data_t *pmdata;
pm_accu_time_t *times
int pm_get_data_lcpu (lcpuid, *pmdata)
int lcpuid;
pm_data_t *pmdata;
int pm_get_tdata_lcpu (lcpuid, *pmdata, *time)
int lcpuid;
pm_data_t *pmdata;
timebasestruct_t *time;
int pm_get_Tdata_lcpu (lcpuid, *pmdata, *times)
int lcpuid;
pm_data_t *pmdata;
pm_accu_time_t *times
Descriptif
La sous-routine pm_get_data extrait les données actuelles du moniteur de performances à l'échelle du système.
La sous-routine pm_get_tdata extrait les données actuelles du moniteur de performances à l'échelle du système, ainsi qu'un horodatage indiquant l'heure à laquelle les compteurs matériels ont été lus pour la dernière fois.
La sous-routine pm_get_Tdata extrait les données actuelles du moniteur de performances à l'échelle du système et le temps cumulé (base de temps, temps PURR et temps SPURR) que les événements ont été comptabilisés.
Les sous-routines pm_get_data_cpu, pm_get_tdata_cpuet pm_get_Tdata_cpu extraient les données du moniteur de performances en cours pour un processeur spécifié. L'ID processeur indiqué représente un nombre contigu compris entre0à_system_configuration.ncpus. Ces sous-programmes ne peuvent être utilisés que lorsqu'aucune opération de reconfiguration dynamique n'est effectuée sur la machine, car lorsque des processeurs sont ajoutés ou supprimés, la numérotation des processeurs est modifiée et le numéro de processeur spécifié peut désigner des processeurs différents d'un appel à un autre. Ces sous-routines sont gérées à des fins de compatibilité avec les versions précédentes.
La sous-routine pm_get_data_cpu extrait les données du moniteur de performances en cours pour le processeur spécifié.
La sous-routine pm_get_tdata_cpu extrait les données du moniteur de performances en cours pour le processeur spécifié, ainsi qu'un horodatage indiquant l'heure de la dernière lecture des compteurs matériels.
La sous-routine pm_get_Tdata_cpu extrait les données du moniteur de performances en cours pour le processeur spécifié et le temps accumulé (base de temps, temps PURR et temps SPURR) pendant lequel les événements ont été comptés.
Les sous-routines pm_get_data_lcpu, pm_get_tdata_lcpuet pm_get_Tdata_lcpu extraient les données du moniteur de performances en cours pour un processeur logique spécifié. L'ID processeur indiqué représente une valeur comprise entre0à_system_configuration.max_ncpus. Cette valeur représente toujours le même processeur, même après des opérations de reconfiguration dynamique. Ces sous-routines peuvent renvoyer une erreur si le numéro de processeur logique spécifié n'a jamais été exécuté pendant l'intervalle de comptage.
La sous-routine pm_get_data_lcpu extrait les données du moniteur de performances en cours pour le processeur logique spécifié.
La sous-routine pm_get_tdata_lcpu extrait les données du moniteur de performances en cours pour le processeur logique spécifié, ainsi qu'un horodatage indiquant la dernière lecture des compteurs matériels.
La sous-routine pm_get_Tdata_lcpu extrait les données du moniteur de performances en cours pour le processeur logique spécifié et le temps cumulé (base de temps, temps PURR et temps SPURR) pendant lequel les événements ont été comptabilisés.
Les données du moniteur de performances sont toujours un ensemble (un par compteur matériel sur les machines utilisées) de valeurs 64 bits.
Paramètres
| Article | Descriptif |
|---|---|
| * pmdata | Pointeur vers une structure contenant les données Performance Monitor renvoyées à l'échelle du système. |
| * heure | Pointeur vers une structure contenant la valeur de base de temps lors de la dernière lecture des compteurs de surveillance des performances du matériel. Il peut être converti en temps à l'aide de la sous-routine time_base_to_time . |
| * fois | Pointeur vers une structure contenant le temps cumulé (base de temps, temps PURR et temps SPURR) que les événements ont été comptés. Chaque compteur de temps peut être converti en temps à l'aide de la sous-routine time_base_to_time . |
| cpuid | Nombre de processeurs contigus compris entre0à_system_configuration.ncpus. Cette valeur ne désigne pas toujours le même processeur, même après des opérations de reconfiguration dynamique. |
| lcpuid | Identificateur du processeur logique. Chaque identificateur reste lié à un processeur particulier entre les réamorçages, même après les opérations de reconfiguration dynamique. Cette valeur doit être comprise dans la plage comprise entre0à_system_configuartion.max_ncpus. |
Valeurs renvoyées
| Article | Descriptif |
|---|---|
| 0 % | L'opération a abouti. |
| Code d'erreur positif | Reportez-vous à la sous-routine pm_error pour décoder le code d'erreur. |
Codes d'erreur
Reportez-vous à la sous-routine pm_error.
Fichiers
| Article | Descriptif |
|---|---|
| /usr/include/pmapi.h | Définit des macros standard, des types de données et des sous-routines. |