krn.JobThreadGetInfo
Dieser Job liefert Informationen zu den Threads des Servers, insbesondere zu dem Job, der aktuell oder zuletzt auf dem jeweiligen Thread ausgeführt wird. Er ist die schlanke Momentaufnahme (welcher Thread welchen Job unter welchem Benutzer wie lange ausgeführt hat); die ausführliche Detailanalyse eines einzelnen Threads liefert krn.JobThreadGetCallStack.
1. Eingabeparameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
|
INT |
Ja |
Derzeit nicht unterstützt — |
2. Ausgabeparameter
| Name | Typ | Abhängigkeit | Beschreibung |
|---|---|---|---|
|
STRING |
— |
base64-codierter Puffer mit einem Datensatz je Thread. Aufbau siehe unten. |
|
STRING |
— |
Semikolon-separierte Beschreibung der Felder, die je Datensatz in |
3. Aufbau des Info-Puffers
Der Puffer ist base64-codiert und entschlüsselt sich zu einem Datensatz je Thread.
Die 20 durch den Parameter InfoType beschriebenen Felder sind reiner ASCII-Text und durch NUL-Zeichen (0x00) getrennt; nur diese 20 Felder bilden die stabile Schnittstelle.
Nach dem letzten Feld folgt eine nicht dokumentierte Binärstruktur (interne Zeiger; in Speicherabzügen zusätzlich eine Kopie der aktiven Session-GUID-Liste), die ignoriert werden sollte.
Die Zeitstempelfelder (created, start, performed, stop) verwenden das Format <Epoch>.<Sequenz>, also Unix-Epoch-Sekunden gefolgt von einer laufenden Sequenznummer.
InfoType liefert die folgende Feldreihenfolge:
| Feld | Beschreibung |
|---|---|
|
OS-Thread-Kennung (identisch zu den Thread-Kennungen aus krn.QueueGetStatistic und krn.JobThreadGetCallStack) |
|
Queue, zu der der Thread gehört |
|
Index des Threads innerhalb seiner Queue ( |
|
Laufzeit des aktuellen bzw. zuletzt ausgeführten Jobs in Sekunden (rechtsbündig formatiert) |
|
Anzahl der von diesem Thread verarbeiteten Jobs |
|
Kennung der Verbindung, die den Job bearbeitet; |
|
Erstellungs- bzw. Enqueue-Zeitpunkt des Jobs |
|
Monoton steigende Jobinstanz-Kennung |
|
Name des aktuell bzw. zuletzt ausgeführten Jobs |
|
Sicherheits-/Impersonation-Kontextstufe (vermutet) |
|
Startzeitpunkt des Jobs |
|
Zeitpunkt, zu dem die Verarbeitung tatsächlich begann |
|
Endzeitpunkt des Jobs; entspricht |
|
Statuscode des Jobs ( |
|
Content-Processing-Flag (vermutet) |
|
GUID der Arbeitssitzung, die den Job besitzt |
|
Name der Station (Rechnername) |
|
Benutzer, unter dem der Job ausgeführt wird |
|
Aktuell ausgeführtes SQL-Statement; nur belegt, während der Thread eine Datenbankabfrage ausführt |
|
Statuscode der Datenbankverbindung |
Untätige Threads liefern jobname, sessguid und username leer, connection = -1 sowie die Zeitstempel 0.000.
4. Rückgabe
(INT): 0 = Job erfolgreich, sonst Fehlercode.
Siehe auch: krn.ThreadEnum, krn.JobThreadGetCallStack, krn.QueueGetStatistic