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 필요합니다. |