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.