Поделиться через


Функция JetGetThreadStats

Применимо к: Windows | Windows Server

Функция JetGetThreadStats

Функция JetGetThreadStats извлекает сведения о производительности из ядра СУБД для текущего потока. Для сбора статистики, отражающей активность ядра СУБД в этом потоке между этими вызовами, можно использовать несколько вызовов.

Windows Vista:JetGetThreadStats появилась в Windows Vista.

    JET_ERR JET_API JetGetThreadStats(
      __out         void* pvResult,
      __in          unsigned long cbMax
    );

Параметры

pvResult

Выходной буфер, который получает данные статистики потока. Буфер содержит структуру JET_THREADSTATS после успешного вызова.

cbMax

Максимальный размер выходного буфера в байтах.

Возвращаемое значение

Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.

Код возврата

Описание

JET_errSuccess

Операция выполнена успешно.

JET_errBufferTooSmall

Операция завершилась сбоем, так как предоставленный выходной буфер был слишком мал для размещения запрошенных данных. Функция JetGetThreadStats возвращает эту ошибку, если выходной буфер слишком мал, чтобы содержать наименьшую версию структуры JET_THREADSTATS , поддерживаемой ядром СУБД.

При успешном выполнении выходной буфер будет содержать JET_THREADSTATS структуру, содержащую статистику ядра СУБД для текущего потока.

При сбое состояние выходного буфера не определено.

Комментарии

Сведения, предоставляемые двумя последовательными вызовами этого API, предназначены для вычисления затрат на любые другие операции ядра СУБД в текущем потоке. Как правило, это делается путем получения до и после считывания статистики и вычитания после счетчика после из счетчика перед, чтобы получить чистое количество выполненных операций.

Например, приложение может вызвать JetGetThreadStats один раз, чтобы получить начальное чтение статистики для текущего потока. Затем он может вызвать функцию JetMove с параметром cRow , заданным JET_MoveNext, чтобы перейти к следующей записи индекса в индексе. Затем он может снова вызвать JetGetThreadStats , чтобы получить еще одно чтение статистики потока. Затем он может вычесть счетчик cPageReferenced из второго считывания из первого. Результатом будет количество страниц базы данных, на которые ссылается ядро СУБД для выполнения операции JetMove .

Статистика по каждому потоку накапливается за время существования этого потока. Статистика сбрасывается, если библиотека DLL ядра СУБД выгружается из хост-процесса.

Структура JET_THREADSTATS , скорее всего, будет расширена в будущем, чтобы она содержала больше статистических данных. Новая статистика будет добавлена в конец структуры и может быть получена с увеличенным размером выходного буфера. Наличие дополнительной статистики может быть выведено большим значением cbStruct.

Требования

Требование Значение

Клиент

Требуется Windows Vista.

Сервер

Требуется Windows Server 2008.

Верхняя часть

Объявлено в Esent.h.

Библиотека

Используйте ESENT.lib.

DLL

Требуется ESENT.dll.

См. также:

JET_ERR
JET_THREADSTATS
JetMove