JetGetThreadStats-Funktion
Gilt für: Windows | Windows Server
JetGetThreadStats-Funktion
Die JetGetThreadStats-Funktion ruft Leistungsinformationen aus der Datenbank-Engine für den aktuellen Thread ab. Mehrere Aufrufe können verwendet werden, um Statistiken zu sammeln, die die Aktivität der Datenbank-Engine in diesem Thread zwischen diesen Aufrufen widerspiegeln.
Windows Vista:JetGetThreadStats wird in Windows Vista eingeführt.
JET_ERR JET_API JetGetThreadStats(
__out void* pvResult,
__in unsigned long cbMax
);
Parameter
pvResult
Der Ausgabepuffer, der die Threadstatistikdaten empfängt. Der Puffer enthält nach einem erfolgreichen Aufruf eine JET_THREADSTATS Struktur.
cbMax
Die maximale Größe des Ausgabepuffers in Byte.
Rückgabewert
Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.
Rückgabecode |
Beschreibung |
---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. |
JET_errBufferTooSmall |
Der Vorgang ist fehlgeschlagen, weil der bereitgestellte Ausgabepuffer zu klein war, um die angeforderten Daten zu enthalten. Die JetGetThreadStats-Funktion gibt diesen Fehler zurück, wenn der Ausgabepuffer zu klein ist, um die kleinste Version der JET_THREADSTATS-Struktur zu enthalten, die von der Datenbank-Engine unterstützt wird. |
Bei Erfolgreicher Ausführung enthält der Ausgabepuffer eine JET_THREADSTATS-Struktur , die Datenbank-Engine-Statistiken für den aktuellen Thread enthält.
Bei einem Fehler ist der Zustand des Ausgabepuffers nicht definiert.
Bemerkungen
Die Informationen, die von zwei aufeinander folgenden Aufrufen dieser API bereitgestellt werden, sollen verwendet werden, um die Kosten anderer Datenbank-Engine-Vorgänge im aktuellen Thread zu berechnen. Im Allgemeinen erfolgt dies, indem ein Vor- und Nachher-Lesen der Statistiken verwendet wird und die Nachzählung von der Vorzählung subtrahiert wird, um die Nettoanzahl der ausgeführten Vorgänge zu erhalten.
Beispielsweise könnte eine Anwendung JetGetThreadStats einmal aufrufen, um ein erstes Lesen der Statistiken für den aktuellen Thread zu erhalten. Anschließend könnte die JetMove-Funktion aufgerufen werden, wobei der cRow-Parameter auf JET_MoveNext festgelegt ist, um zum nächsten Indexeintrag für einen Index zu wechseln. Anschließend könnte JetGetThreadStats erneut aufgerufen werden, um ein weiteres Lesen der Statistiken des Threads zu erhalten. Anschließend könnte der cPageReferenced-Zähler aus der zweiten Lesung von der ersten subtrahiert werden. Das Ergebnis wäre die Anzahl der Datenbankseiten, auf die die Datenbank-Engine verweist, um den JetMove-Vorgang auszuführen.
Die Statistiken für jeden Thread werden für die Lebensdauer dieses Threads gesammelt. Die Statistiken werden zurückgesetzt, wenn die DLL der Datenbank-Engine aus dem Hostprozess entladen wird.
Die JET_THREADSTATS-Struktur wird wahrscheinlich in Zukunft erweitert, um mehr Statistiken zu enthalten. Neue Statistiken werden am Ende der Struktur hinzugefügt und können mit einer erhöhten Ausgabepuffergröße abgerufen werden. Das Vorhandensein zusätzlicher Statistiken kann durch einen größeren cbStruct-Wert abgeleitet werden.
Anforderungen
Anforderung | Wert |
---|---|
Client |
Erfordert Windows Vista. |
Server |
Erfordert Windows Server 2008. |
Kopfzeile |
Deklariert in Esent.h. |
Bibliothek |
Verwenden Sie ESENT.lib. |
DLL |
Erfordert ESENT.dll. |