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

제공된 출력 버퍼가 너무 작아서 요청된 데이터를 포함할 수 없어 작업이 실패했습니다. 출력 버퍼가 너무 작아서 데이터베이스 엔진에서 지원하는 가장 작은 버전의 JET_THREADSTATS 구조를 포함할 수 없는 경우 JetGetThreadStats 함수는 이 오류를 반환합니다.

성공하면 출력 버퍼에는 현재 스레드에 대한 데이터베이스 엔진 통계가 포함된 JET_THREADSTATS 구조가 포함됩니다.

실패 시 출력 버퍼의 상태가 정의되지 않습니다.

설명

이 API의 두 번의 연속 호출에서 제공하는 정보는 현재 스레드에서 다른 데이터베이스 엔진 작업의 비용을 계산하는 데 사용됩니다. 일반적으로 이 작업은 통계를 읽기 전과 후에 를 사용하고 이전 개수에서 후 수를 빼서 수행된 작업의 순 수를 가져오는 것입니다.

예를 들어 애플리케이션은 JetGetThreadStats 를 한 번 호출하여 현재 스레드에 대한 통계의 초기 읽기를 가져올 수 있습니다. 그런 다음 cRow 매개 변수가 JET_MoveNext 설정된 JetMove 함수를 호출하여 인덱스에서 다음 인덱스 항목으로 이동할 수 있습니다. 그런 다음 JetGetThreadStats를 다시 호출하여 스레드 통계의 또 다른 읽기를 가져올 수 있습니다. 그런 다음 첫 번째 읽기에서 두 번째 읽기에서 cPageReferenced 카운터를 뺄 수 있습니다. 그 결과 JetMove 작업을 수행하기 위해 데이터베이스 엔진에서 참조하는 데이터베이스 페이지 수가 생성됩니다.

각 스레드에 대한 통계는 해당 스레드의 수명 동안 누적됩니다. 데이터베이스 엔진의 DLL이 호스트 프로세스에서 언로드되면 통계가 다시 설정됩니다.

JET_THREADSTATS 구조는 나중에 더 많은 통계를 포함하도록 확장될 가능성이 높습니다. 새 통계가 구조의 끝에 추가되고 출력 버퍼 크기가 증가하여 검색할 수 있습니다. 추가 통계의 존재는 더 큰 cbStruct 값으로 유추할 수 있습니다.

요구 사항

요구 사항

클라이언트

Windows Vista가 필요합니다.

서버

Windows Server 2008이 필요합니다.

머리글

Esent.h에 선언되었습니다.

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

참고 항목

JET_ERR
JET_THREADSTATS
JetMove