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.

Weitere Informationen

JET_ERR
JET_THREADSTATS
JetMove