동시성 시각화 도우미의 스레드 보기 보고서

이 문서에서는 동시성 시각화 도우미의 스레드 보기에 있는 보고서에 대한 정보를 제공합니다.

차단 시간 프로필 보고서

프로필 보고서에서는 "I/O" 또는 "동기화" 등의 각 차단 범주와 관련된 호출 스택에 대한 집계 차단 시간 데이터를 제공합니다. 선점 보고서에는 선점 인스턴스 수와 함께 현재 프로세스를 선점한 프로세스가 나열됩니다. 차단 프로필 보고서를 빌드하기 위해 이 도구는 차단 API 호출을 수집하고 이를 호출 스택 트리에 누적합니다. 이 보고서에 표시되는 데이터는 현재 시간 범위, 숨겨진 스레드 및 적용할 수 있는 다음 두 개의 필터에 따라 달라집니다.

  • [내 코드만]을 선택하면 사용자 코드와 사용자 코드 아래에 한 수준이 포함된 스택 프레임만 표시됩니다.

  • 노이즈 감소 값을 설정하면 지정된 빈도보다 낮은, 데이터 정렬된 스택을 건너뜁니다.

    호출 트리 항목을 확장해서 차단 시간이 사용된 코드 줄을 찾습니다. 항목에 대한 소스 줄을 찾으려면 해당 바로 가기 메뉴에서 소스 보기를 선택합니다. 이 항목을 호출한 코드 줄을 찾으려면 바로 가기 메뉴에서 호출 사이트 보기를 선택합니다. 사용할 수 있는 호출 사이트가 하나뿐인 경우 이 명령을 사용하면 해당 호출 사이트에 대한 강조 표시된 코드 줄에 연결됩니다. 여러 호출 사이트를 사용할 수 있는 경우 이 명령을 사용하면 사용자가 항목을 선택한 후 소스로 이동 단추를 선택해서 강조 표시된 호출 사이트를 찾을 수 있는 대화 상자가 열립니다. 인스턴스가 가장 많거나, 시간이 가장 오래 걸리거나, 두 항목이 모두 가장 높은 호출 사이트에 대해서는 소스 코드를 보는 것이 종종 가장 유용한 방법입니다.

차단 시간 보고서 열

다음 표에서는 각 차단 시간 보고서에 대한 열을 보여 줍니다.

열 이름 설명
이름 호출 스택의 각 수준에 대한 함수의 이름입니다.
인스턴스 보이는 기간에 대한 차단 호출의 인스턴스 수입니다.
포함 차단 시간 호출 스택 트리의 이 수준까지 이르는 모든 스택에 소요된 총 차단 시간입니다. 포함 수는 이 함수에 대한 제외 차단 시간과 모든 하위 노드에 대한 제외 차단 시간의 합입니다.
제외 차단 시간 이 함수가 호출 스택에서 최하위 수준에 있는 동안 소요된 총 차단 시간입니다. 제외 차단 시간 값이 높은 고유한 호출 스택 항목이 관심 함수일 수 있습니다.
API/대기 범주 호출 스택의 최하위 수준에 있는 함수에만 표시됩니다. 차단 호출의 서명이 인식되는 곳에서는 차단 API의 이름이 제공됩니다. 시그니처가 인식되지 않으면 커널에서 보고된 정보가 제공됩니다.
세부 정보 함수의 정규화된 이름입니다. 여기에는 사용 가능한 경우 줄 수가 포함됩니다.

동기화

동기화 보고서에는 동기화에서 차단되는 세그먼트를 처리하는 호출 및 각 호출 스택의 집계 차단 시간이 표시됩니다. 자세한 내용은 동기화 시간을 참조하세요.

절전

중지 보고서에는 중지에 사용된 시간으로 전환된 차단 시간을 처리하는 호출 및 각 호출 스택의 집계 차단 시간이 표시됩니다. 자세한 내용은 절전 모드 시간을 참조하세요.

I/O

I/O 보고서에는 I/O에서 차단되는 세그먼트를 처리하는 호출 및 각 호출 스택의 집계 차단 시간이 표시됩니다. 자세한 내용은 I/O 시간(스레드 뷰)을 참조하세요.

메모리 관리

메모리 관리 보고서에는 메모리 관리 작업에서 차단되는 세그먼트를 처리하는 호출 및 각 호출 스택의 집계 차단 시간이 표시됩니다. 자세한 내용은 메모리 관리 시간을 참조하세요.

선점

선점 보고서에는 인스턴스 수와 함께 현재 프로세스를 선점한 프로세스가 나열됩니다. 각 프로세스를 확장해서 현재 프로세스에서 스레드를 교체한 특정 스레드를 보고 스레드당 선점 인스턴스 분석을 볼 수 있습니다. 선점은 일반적으로 코드의 문제보다는 운영 체제에 의해 프로세스에 적용되기 때문에 이 차단 보고서는 다른 보고서보다 실용성이 낮습니다. 자세한 내용은 선점 시간을 참조하세요.

UI 처리

UI 처리 보고서에는 UI 처리 블록에서 차단되는 차단 세그먼트를 처리하는 호출 및 각 호출 스택의 집계 차단 시간이 표시됩니다. 자세한 내용은 UI 처리 시간을 참조하세요.

디스크 작업 보고서(스레드 뷰)

디스크 작업 보고서에는 디스크 채널의 디스크 I/O 작업이 표시됩니다.

현재 표시되는 기간에 프로파일링 중인 프로세스를 대신해서 발생하는 각 디스크 액세스에 대해서는 다음 정보가 보고됩니다.

  • 디스크 액세스를 수행한 프로세스의 이름 및 PID

  • 디스크에 액세스한 스레드의 ID

  • 액세스된 파일의 이름

  • 파일당 읽기 횟수

  • 읽은 바이트 수

  • 읽기 대기 시간(밀리초)

  • 쓰기 횟수

  • 기록한 바이트 수

  • 쓰기 대기 시간(밀리초)

실행 프로필 보고서

실행 프로필 보고서는 전통적인 샘플링 프로필입니다. 논리 코어에서 스레드가 실행 중인 기간에 거의 밀리초마다 샘플이 수집되고 동시성 시각화에서는 누적된 샘플 스택 집합의 데이터를 정렬하여 일반적인 호출 트리를 빌드합니다. 현재 시간 범위와 숨겨진 스레드 및 적용될 수 있는 다음과 같은 필터가 이 테이블의 데이터에 영향을 미칠 수 있습니다.

  • 내 코드만을 선택하면 사용자 코드와 사용자 코드 아래에 한 수준이 포함된 스택 프레임만 표시됩니다.

  • 노이즈 감소 값을 설정하면 지정된 빈도보다 적게 포함된 데이터 정렬된 스택이 보고서에서 필터링됩니다.

    다음 표에서는 보고서에 있는 열을 보여 줍니다.

설명
이름 호출 스택의 각 수준에 대한 함수의 이름입니다.
포괄 샘플 호출 스택 트리의 이 수준으로 롤업되는 모든 스택에 대해 수집된 총 샘플 수입니다. 포괄 수는 이 함수에 대한 전용 샘플 및 모든 하위 노드에 대한 포괄 카운터의 합계입니다.
전용 샘플 이 함수가 호출 스택의 최하위 수준에 있는 경우 수집된 총 샘플 수입니다.
% 포함 포괄 샘플 열에 표시된 총 샘플의 백분율입니다. 백분율은 소수점 이하 두 자리까지 반올림됩니다.
% 제외 전용 샘플 열에 표시된 총 샘플의 백분율입니다. 백분율은 소수점 이하 두 자리까지 반올림됩니다.
세부 정보 함수의 정규화된 이름입니다. 여기에는 사용 가능한 경우 줄 수가 포함됩니다.

이 보고서 테이블은 실행 시간(스레드 뷰) 뷰에서 볼 수 있습니다.

표식 보고서

표식 보고서에는 표시된 기간 중의 표식이 나열됩니다. 이동이나 확대/축소 또는 레인 숨기기에 따라 표식이 나타나거나 사라질 수 있습니다. 보고서에는 각 표식에 대해 다음 정보가 포함됩니다.

  • 추적 시작을 기준으로 시작된 시간입니다.

  • 해당 기간입니다. 플래그 및 메시지는 인스턴트 항목이므로 기간이 0입니다.

  • 표식을 생성한 스레드의 ID입니다.

  • 표식을 생성한 ETW(Windows용 이벤트 추적) 공급자입니다.

  • 표식이 작성된 표식 계열입니다.

  • 표식이 속하는 이벤트 범주입니다.

  • 중요도 수준입니다.

  • 해당 형식(범위, 플래그 또는 메시지)입니다.

  • 표식이 나타내는 항목에 대한 고급 설명입니다.

    표식 보고서를 CSV 파일로 저장하려면 내보내기 단추를 선택합니다. CSV 파일의 데이터는 다른 응용 프로그램 또는 도구에서 사용할 수 있습니다.

참고 항목

표식 보고서는 1,000개의 표식을 표시할 수 있습니다. 모든 표식을 보려면 전체 보고서를 CSV 파일로 내보냅니다.

스레드별 요약 보고서

이 막대 그래프는 현재 표시되는 시간 범위 중 각 작업 범주에서 숨겨진 각 스레드가 소비하는 시간의 비율을 표시합니다. "실행"은 스레드가 실행되고 있음을 의미하며 다른 모든 범주는 스레드가 대기 중임을 의미합니다.