프로파일링 도구 보고서 열 정의
업데이트: 2007년 11월
다음 표에서는 성능 보고서 뷰에서 사용할 수 있는 값의 정의를 보여 줍니다.
열 이름 |
설명 |
---|---|
응용 프로그램 전용 시간(%) |
이 컨텍스트에서 이 함수의 모든 인스턴스에 대한 응용 프로그램 전용 시간에서 사용한 지정된 데이터 세그먼트의 총 시간(프로세서 주기)에 대한 백분율이거나, 성능 카운터 값에 대한 백분율입니다. |
응용 프로그램 포괄 시간(%) |
이 컨텍스트에서 이 함수의 모든 인스턴스에 대한 응용 프로그램 포괄 시간에서 사용한 지정된 데이터 범위의 총 시간(프로세서 주기)에 대한 백분율이거나, 성능 카운터 값에 대한 백분율입니다. |
경과된 전용 시간(%) |
이 컨텍스트에서 이 함수의 모든 인스턴스에 대한 경과된 전용 시간에서 사용한 지정된 데이터 세그먼트의 총 시간(프로세서 주기)에 대한 백분율이거나, 성능 카운터 값에 대한 백분율입니다. |
경과된 포괄 시간(%) |
이 컨텍스트에서 이 함수의 모든 인스턴스에 대한 경과된 포괄 시간에서 사용한 지정된 데이터 세그먼트의 총 시간(프로세서 주기)에 대한 백분율이거나, 성능 카운터 값에 대한 백분율입니다. |
응용 프로그램 |
프로세스 또는 스레드를 만든 응용 프로그램의 파일 이름입니다. |
응용 프로그램 ETL 파일 |
ETW 데이터가 포함된 파일의 위치입니다. |
응용 프로그램 전용 시간 |
운영 체제 이벤트, 컬렉션 프로브 시간, 함수가 호출한 하위 루틴의 시간이 포함된 성능 데이터를 제외하는 함수 또는 요약 항목에 대해 계산된 시간입니다. |
응용 프로그램 포괄 시간 |
운영 체제 이벤트 및 컬렉션 프로브 시간이 포함된 성능 데이터는 제외하지만 함수가 호출한 하위 루틴의 응용 프로그램 시간은 포함하는 함수 또는 요약 항목에 대해 계산된 시간입니다. |
평균 응용 프로그램 전용 시간 |
지정된 데이터 범위에서 이 함수의 모든 인스턴스에 대한 평균 경과된 응용 프로그램 전용 클록 시간(프로세서 주기)이거나, P6 성능 또는 사용자 정의 카운터 값입니다. |
평균 응용 프로그램 포괄 시간 |
지정된 데이터 범위에서 이 함수의 모든 인스턴스에 대한 평균 경과된 응용 프로그램 포괄 클록 시간(프로세서 주기)이거나, P6 성능 또는 사용자 정의 카운터 값입니다. |
평균 경과된 전용 시간 |
지정된 데이터 범위에서 이 함수의 모든 인스턴스에 대한 평균 경과된 전용 클록 시간(프로세서 주기)이거나, P6 성능 또는 사용자 정의 카운터 값입니다. |
평균 경과된 포괄 시간 |
지정된 데이터 범위에서 이 함수의 모든 인스턴스에 대한 평균 경과된 포괄 클록 시간(프로세서 주기)이거나, P6 성능 또는 사용자 정의 카운터 값입니다. |
기준 주소 |
로드된 모듈의 메모리 주소입니다. |
호출 수준 |
호출 트리의 수준입니다. |
클록 주파수 |
프로세서 클록 속도입니다. |
명령줄 |
성능 보고서를 만드는 데 사용되는 명령입니다. |
카운터 1 - 16 |
계측 중에 여러 카운터로부터 데이터를 수집할 수 있습니다. 기본적으로 TimeStamp 카운터만 사용됩니다. |
CPU ID |
CPU 제조 업체 및 종류 정보입니다. |
만든 시간 |
.vsp 파일이 만들어진 날짜/시간입니다. |
더티 종료 |
프로파일러가 갑자기 종료되었음을 나타냅니다. |
경과된 전용 시간 |
컬렉션 프로브 시간 및 함수가 호출한 하위 루틴의 경과된 시간은 제외하는 함수 또는 요약 항목에 대해 계산된 시간입니다. |
경과된 포괄 시간 |
함수가 호출한 하위 루틴의 간격은 포함하지만 컬렉션 프로브 시간은 제외하는 함수 또는 요약 항목에 대해 계산된 시간입니다. |
이벤트 작업 |
수행된 이벤트 작업의 형식입니다. 이벤트 작업은 Entry 또는 Exit일 수 있습니다. 호출 트리 보고서에만 나타납니다. |
이벤트 형식 |
이벤트 작업 등의 이벤트 형식은 호출 트리 보고서에만 나타납니다. 다음 목록에서는 여러 이벤트 형식을 설명합니다. L - 로드된 모듈 M - 표시 E - 끝 Explicit - 함수에서 명시적으로 끝내기를 받음을 의미합니다. Implicit - 예외로 인해 함수를 끝냄을 의미합니다. 또한 ETW 이벤트가 활성화된 경우 이벤트 형식에 함께 나열됩니다. |
제외 할당 |
호출한 하위 루틴에서 다른 모든 할당을 제외한 함수의 할당입니다. |
제외 할당 백분율 |
([호출한 하위 루틴의 다른 모든 할당을 제외한 함수의 할당] / [프로파일링 도중 수행된 총 제외 할당 수]) * 100 |
할당된 제외 바이트 |
호출한 하위 루틴의 다른 모든 바이트 할당을 제외한 함수의 할당 바이트입니다. |
제외 바이트 백분율 |
(함수에서 할당한 바이트 수 / 총 바이트 수) * 100 |
제외 백분율 |
([함수의 전용 샘플] / [프로파일링 도중 취한 총 전용 샘플]) * 100 |
전용 샘플 |
함수에서 호출한 다른 함수의 성능 데이터를 제외하고 함수에 대해 수집된 성능 데이터 샘플의 총 수입니다. |
전용 전환 |
이 함수에 의해 호출된 함수를 제외하고 이 함수의 모든 인스턴스에서 발생한 전환(운영 체제) 이벤트의 수입니다. |
전용 전환 백분율 |
이 함수의 포괄 시간에 발생한 데이터 범위에서 이 함수 인스턴스에 대한 포괄 시간에 발생한 운영 체제(전환) 이벤트의 총 수에 대한 백분율입니다. |
마지막 프로세스 |
프로파일링이 종료될 때 활성 상태인 프로세스의 수이며 일반적으로 샘플링으로 분리할 때만 0이 아닙니다. |
마지막 스레드 |
응용 프로그램이 종료될 때 실행 중인 프로파일링된 활성 스레드의 수입니다. |
함수 주소 |
16진수 형식으로 된 함수 주소입니다. |
함수 이름 |
함수의 이름입니다. |
I/O 버퍼 |
프로파일링 중에 데이터 저장에 사용된 버퍼의 수입니다. |
ID |
프로세스나 스레드에 할당된 시스템 정의 숫자 식별자입니다. |
포괄 할당 |
호출한 하위 루틴의 모든 할당을 포함한 함수의 할당입니다. |
포괄 할당 백분율 |
([호출한 하위 루틴의 다른 모든 할당을 포함한 함수의 할당] / [프로파일링 도중 수행된 총 포괄 할당 수]) * 100 |
포괄 할당 |
호출한 하위 루틴의 모든 할당을 포함한 함수의 할당입니다. |
포괄 바이트 백분율 |
(함수와 함수에서 호출한 다른 모든 서브루틴에서 할당한 바이트 수 / 총 바이트 수) * 100 |
할당된 포괄 바이트 |
호출한 하위 루틴의 다른 모든 바이트 할당을 포함한 함수의 할당 바이트입니다. |
포괄 바이트 백분율 |
(함수와 함수에서 호출한 다른 모든 서브루틴에서 할당한 바이트 수 / 총 바이트 수) * 100 |
포괄 백분율 |
([함수의 포괄 샘플] / [프로파일링 도중 취한 총 포괄 샘플]) * 100 |
포괄 샘플 |
함수에서 호출한 다른 함수의 성능 데이터를 포함하여 함수에 대해 수집된 성능 데이터의 전체 수입니다. |
포괄 전환 |
이 함수에 의해 호출된 함수를 포함하여 이 함수의 모든 인스턴스에서 발생한 운영 체제(전환) 이벤트의 수입니다. |
포괄 전환 백분율 |
데이터 범위의 포괄 전환 총 수와 비교하여 호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스에 대한 포괄 시간에 발생한 운영 체제(전환) 이벤트의 백분율입니다. |
명령 주소 |
16진수 형식으로 된 명령 주소입니다. |
커널 ETL 파일 |
ETW 데이터가 수집된 경우 해당 데이터를 사용하여 별도의 파일이 만들어지며 이 파일은 커널 이벤트가 있는 파일의 위치입니다. |
수준 |
호출 트리의 호출 수준입니다. |
줄 번호 |
소스 파일에서 함수의 시작 위치입니다. |
컴퓨터 이름 |
프로파일링에 사용된 컴퓨터입니다. |
표시 |
성능 문제를 설명하기 위해 사용자가 코드에 마커로 삽입한 데이터입니다. |
최대 응용 프로그램 전용 시간 |
호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스에 대한 최소 단일 응용 프로그램 전용 클록 시간(프로세서 주기)이거나 성능 카운터 값입니다. |
최대 응용 프로그램 포괄 시간 |
호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스에 대한 최대 응용 프로그램 포괄 클록 시간(프로세서 주기)이거나 성능 카운터 값입니다. |
최대 경과된 전용 시간 |
호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스에 대한 최대 경과된 전용 클록 시간(프로세서 주기)이거나 성능 카운터 값입니다. |
최대 프로세스 |
프로파일러가 오류를 발생시키지 않고 동시에 프로파일링할 수 있는 최대 프로세스 수입니다. 이 수는 레지스트리 키를 사용하여 제어할 수 있습니다. |
최대 스레드 |
프로파일러가 오류를 발생시키지 않고 동시에 프로파일링할 수 있는 최대 스레드 수입니다. 이 수는 레지스트리 키를 사용하여 제어할 수 있습니다. |
최소 응용 프로그램 전용 시간 |
호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스에 대한 최소 응용 프로그램 전용 클록 시간(프로세서 주기)이거나 성능 카운터 값입니다. |
최소 응용 프로그램 포괄 시간 |
호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스에 대한 최소 경과된 응용 프로그램 포괄 클록 시간(프로세서 주기)이거나 성능 카운터 값입니다. |
최소 경과된 전용 시간 |
호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스에 대한 최소 경과된 전용 클록 시간(프로세서 주기)이거나 성능 카운터 값입니다. |
최소 경과된 포괄 시간 |
호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스에 대한 최소 경과된 포괄 클록 시간(프로세서 주기)이거나 성능 카운터 값입니다. |
모듈 식별자 |
모듈 추적에 사용되는 부호 없는 정수입니다. 프로세스에 로드된 순서에 따라 모듈에 할당됩니다. 예를 들어, 첫 번째 모듈은 모듈 0이고 두 번째 모듈은 모듈 1인 형태입니다. |
모듈 이름 |
함수가 포함된 모듈의 이름입니다. |
모듈 경로 |
모듈의 디렉터리 위치입니다. |
모듈 크기 |
16진수 형식의 모듈 크기입니다. |
이름 |
NameProfile API 함수를 사용하여 프로세스나 스레드에 할당된 문자열입니다. 항목에 할당된 이름이 없으면 항목 ID에 항목의 형식(프로세스, 스레드)이 미리 추가됩니다. |
CPU 수 |
프로파일링에 사용된 컴퓨터의 총 CPU 수입니다. |
호출 수 |
호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스에 대한 호출 수입니다. |
운영 체제 |
운영 체제 버전 정보입니다. |
상위 함수 주소 |
다른 함수를 호출하는 상위 함수의 메모리 주소입니다. |
호출 백분율 |
지정한 데이터 범위의 모든 함수에 대한 호출 총 수의 백분율로 호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스 수입니다. |
최대 허용 프로세스 |
동시에 프로파일링할 수 있는 최대 프로세스 수입니다. |
프로세스 ID |
프로세스의 숫자 식별자입니다. |
프로세스 이름 |
프로세스의 이름입니다. |
보고서를 만든 시간 |
보고서를 만든 날짜와 시간입니다. |
재귀적 루트 노드 |
이 함수가 이 컨텍스트에서 직접 또는 간접적으로 재귀적으로 호출되었는지 여부를 나타냅니다. |
샘플 간격 |
사용된 이벤트에 대한 샘플 사이의 평균 클록 주기 수입니다. |
샘플(중단됨) |
응용 프로그램의 스택 워크를 수행할 수 없을 때 취한 샘플입니다. |
샘플(응용 프로그램) |
응용 프로그램이 응용 프로그램 모드에 있을 때 취한 샘플입니다. |
샘플(손상됨) |
호출 스택이 스레드 시작 주소까지 이동하는 데 실패하여 발생한 불완전한 스택입니다. |
샘플(커널) |
응용 프로그램이 커널 모드에 있을 때 취한 샘플입니다. 이러한 샘플은 폐기됩니다. |
샘플(오버헤드) |
호출 스택 워크가 수행 중일 때 발생한 샘플입니다. 이러한 샘플은 폐기됩니다. |
총 샘플 수 |
발생한 총 샘플입니다. |
시나리오 이름 |
기본값은 ProfileRun입니다. NameProfile API를 사용하여 프로세스에서 설정할 수 있습니다. |
버퍼 크기 |
I/O 버퍼의 크기입니다. I/O 버퍼를 참조하십시오. |
소스 파일 |
.vsp 보고서 파일의 전체 경로입니다. |
소스 파일 이름 |
이 함수가 포함된 소스 파일의 이름입니다. |
스택 포인터 |
함수의 스택 포인터 값입니다. |
소스 문자 시작 |
보고된 코드 샘플의 시작 부분에 있는 열 번호입니다. |
소스 문자 끝 |
보고된 코드 샘플의 끝 부분에 있는 열 번호입니다. |
소스 줄 시작 |
보고된 코드 샘플의 시작 부분에 있는 줄 번호입니다. |
소스 줄 끝 |
보고된 코드 샘플의 끝 부분에 있는 줄 번호입니다. 여러 줄로 이루어진 문에서 가져온 샘플을 제외하면 소스 줄 시작과 같습니다. 예를 들어 다음과 같습니다. y = myFunction(x + 2, y * 3, x / y ) – x; |
최대 허용 스레드 |
한 번에 프로파일링할 수 있는 최대 스레드 수입니다. |
스레드 ID |
스레드에 할당된 시스템 정의 숫자 식별자입니다. |
스레드 이름 |
NameProfile API 함수를 사용하여 프로세스나 스레드에 할당된 문자열입니다. 항목에 할당된 이름이 없으면 항목 ID에 항목의 형식(프로세스, 스레드)이 미리 추가됩니다. |
시간 변화량 |
이 이벤트가 발생한 타임스탬프와 이전 이벤트의 타임스탬프 사이의 차이입니다. |
시간 제외 프로브 오버헤드 |
호출 트리에서 상위 함수가 호출한 이 함수의 인스턴스에 대한 전용 시간에서 프로파일링 프로브에 소요된 전체 시간입니다. |
시간 포괄 프로브 오버헤드 |
호출 트리에서 상위 함수가 호출한 이 함수 인스턴스에 대한 포괄 시간에서 프로파일링 프로브에 소요된 전체 시간입니다. |
타임스탬프 |
이벤트가 발생한 시간입니다. |
도구 이름 및 전체 버전 |
VSPerfReport의 이름과 버전입니다. |
총 프로세스 |
프로파일링 세션의 수명 동안 프로파일링된 총 프로세스 수입니다. |
총 스레드 |
프로파일링 중에 만들어진 총 스레드 수입니다. |
형식 |
호출 트리에 있는 행의 형식을 나타냅니다. 각 값이 나타내는 대상은 다음과 같습니다. 0은 루트 함수를 나타냅니다. 1은 호출자를 나타냅니다. 2는 호출 수신자를 나타냅니다. 예를 들어 다음과 같은 호출 트리를 가정해 봅니다. main->funcA->funcB 형식 열의 행은 다음과 같습니다. 0 - main 2 - funcA 0 - funcA 1 - main 2 - funcB 0 - funcB 1 - funcA |
고유 ID |
함수를 식별하는 16진수 숫자입니다. |
고유 프로세스 ID |
프로세스 추적에 사용되는 부호 없는 정수입니다. 로드된 순서에 따라 프로세스에 할당됩니다. 예를 들어, 첫 번째 프로세스는 0이고 두 번째는 1인 형태입니다. |
고유 프로세스 ID |
프로세스를 추적하기 위한 부호 없는 정수입니다. |
VSPerf90.DLL 파일 버전 |
.vsp 파일을 만든 VSPerf90.DLL이라는 데이터 컬렉션 동적 연결 라이브러리의 버전입니다. |