pm_get_program_pgroup_mx und pm_get_program_pgroup_mm Subroutinen

Zweck

Ruft Leistungsüberwachungseinstellungen im Zählermultiplexmodus und im Multimodus für die Zählgruppe ab, zu der ein Ziel-pthread gehört.

Bibliothek

Performance Monitor APIs Library (libpmapi.a)

Syntax

#include <pmapi.h>

int pm_get_program_pgroup_mx ( pid,  tid,  ptid,  *prog) 
pid_t pid; 
tid_t tid;
ptid_t ptid; 
pm_prog_mx_t *prog; 

int pm_get_program_pgroup_mm ( pid, tid, ptid, prog_mm)
pid_t pid;
tid_t tid;
ptid_t ptid;
pm_prog_mm_t *prog_mm;

Beschreibung

Die Subroutine pm_get_program_pgroup_mx und die Subroutine pm_get_program_pgroup_mm rufen die Leistungsüberwachungseinstellungen für die Zählgruppe ab, zu der ein Ziel-pthread gehört. Der pthread muss gestoppt werden und Teil eines Debuggee-Prozesses sein, der vom aufrufenden Prozess gesteuert wird. Dazu gehören Modusinformationen und die zu zählenden Ereignisse, die sich in einem Array von Listen mit Ereignis-IDs befinden. Die Ereignis-IDs stammen aus den von der Subroutine pm_inititialize zurückgegebenen Listen.

Wenn der pthread im Modus 1: 1 ausgeführt wird, muss nur der Parameter tid angegeben werden. Wenn der pthread im Modus m: n ausgeführt wird, darf nur der Parameter ptid angegeben werden. Wenn die Parameter ptid und tid angegeben sind, müssen sie auf einen einzelnen pthread mit dem Parameter ptid verweisen, der derzeit in einem Kernel-Thread mit dem Parameter tid ausgeführt wird.

Beim Zählen im Multiplexmodus ist der Modus global für alle Ereignislisten. Beim Zählen im Multimodus wird jeder Ereignisliste ein Modus zugeordnet.

Der Zählmodus umfasst den Benutzermodus und den Kernelmodus sowie den aktuellen Zählstatus.

Wenn die Liste ein Ereignis enthält, das mit einem Schwellenwert verwendet werden kann (wie durch die Subroutine pm_initialize angegeben) wird auch ein Schwellenwert zurückgegeben.

Die Benutzeranwendung muss das zugeordnete Array zum Speichern der Ereignislisten freigeben (das Feld 'events_set' im Parameter prog ).

Parameter

Element Beschreibung
pid Prozess-ID des Ziel-pthread. Der Zielprozess muss ein Argument eines Debugprozesses sein.
TID Thread-ID des Ziel-pthread. Um diesen Parameter zu ignorieren, setzen Sie ihn auf 0.
ptid Pthread-ID des Ziel-pthread. Um diesen Parameter zu ignorieren, setzen Sie ihn auf 0.
* prog Gibt zurück, welche Leistungsmonitorereignisse und -modi festgelegt sind. Es unterstützt die folgenden Modi:
PM-BENUTZER
Zählt Prozesse, die im Benutzermodus ausgeführt werden.
PM_KERNEL
Zählt den Prozess, der den Kernelmodus ausführt.
PM_XX_ENCODE_CASE_ONE anzahl
Zählung ist aktiviert.
PM_PROCESS (Prozess)
Zählgruppe auf Prozessebene.
*prog_mm Gibt zurück, welche Leistungsmonitorereignisse und zugehörigen Modi festgelegt sind. Es unterstützt die folgenden Modi:
PM-BENUTZER
Im Benutzermodus ausgeführte Prozesse werden gezählt.
PM_KERNEL
Im Kernelmodus ausgeführte Prozesse werden gezählt.
PM_XX_ENCODE_CASE_ONE anzahl
Zählung ist aktiviert.
PM_PROZESSBAUM
Die Zählung gilt nur für die aufrufenden Prozesse und deren Nachkommen.

Der Modus PM_PROCTREE und der Modus PM_COUNT gelten für alle festgelegten Modi.

Rückgabewerte

Element Beschreibung
0 Es sind keine Fehler aufgetreten.
Positive error code Informationen zum Decodieren des Fehlercodes finden Sie unter pm_error Subroutine .

Fehlercodes

Siehe pm_error Subroutine.

Dateien

Element Beschreibung
/usr/include/pmapi.h Definiert Standardmakros, Datentypen und Subroutinen.