함수 정보 뷰

함수 정보 뷰 창에는 다음과 같은 정보가 표시됩니다.

  • 비용 분산 가로 막대형 차트는 선택한 함수와 선택한 함수를 실행한 호출 함수의 관계 및 선택한 함수와 해당 함수에 의해 호출된 함수의 관계를 나타냅니다.

  • 함수 성능 정보 테이블에는 지정한 함수에 대한 요약 프로파일링 데이터가 표시됩니다.

  • 함수 코드 뷰 창에는 코드를 사용할 수 있을 때 함수 코드가 표시됩니다.

    함수 코드 뷰 창은 별도 창입니다. 기본적으로 두 개의 창이 가로로 분할되며 함수 코드 뷰 창은 프레임 맨 아래에 배치됩니다.

  • 두 개의 창을 세로로 분할하려면 도구 모음에서 세로로 화면 분할을 클릭합니다.

  • 창의 상대적 크기를 변경하려면 프레임 사이의 음영 테두리를 클릭하고 테두리를 다른 위치로 끕니다.

비용 분산 가로 막대형 차트

성능 메트릭

성능 메트릭 드롭다운 목록에서 뷰에 표시되는 값을 지정할 수 있습니다. 사용할 수 있는 값은 프로파일링 데이터 파일에 사용된 프로파일링 방법에 따라 다릅니다. 괄호로 묶인 이름은 함수 성능 정보 테이블의 행 이름입니다.

가로 막대형 차트

호출 함수

호출 함수 막대에는 선택한 함수를 호출한 함수가 표시됩니다. 호출 함수를 포함하는 블록의 크기는 선택한 함수의 성능 메트릭 합계 값 대비, 호출 함수의 기여도에 비례합니다.

호출 함수의 이름을 클릭하여 뷰에서 선택된 함수로 나타낼 수 있습니다.

  • 나열할 호출 함수가 너무 많으면 기여도가 가장 낮은 함수는 기타 블록에 수집됩니다. 호출자/호출 수신자 뷰 창에 선택된 함수의 모든 호출 함수 및 호출된 함수를 표시하려면 기타를 클릭합니다. 자세한 내용은 호출자/호출 수신자 뷰를 참조하세요.

  • 호출 함수가 없거나 해당 함수가 스레드 또는 프로세스의 진입 함수인 경우 스택 맨 위 블록이 나타납니다.

    선택된 함수

    선택된 함수 막대에는 선택한 함수의 총 성능 메트릭 대비, 선택된 함수의 호출된 함수 및 코드의 기여도가 표시됩니다. 호출된 함수 또는 함수 본문을 포함하는 블록의 크기는 선택된 함수의 성능 메트릭 합계 값 대비, 해당 함수의 기여도에 비례합니다.

    호출된 함수의 이름을 클릭하여 뷰에서 선택된 함수로 나타낼 수 있습니다.

  • 합계 값은 선택된 함수에 대 한 성능 메트릭입니다.

  • 함수 본문 블록은 함수 본문에서 코드가 직접 실행될 때 발생한 성능 메트릭의 합계 값 크기를 나타냅니다.

  • 선택된 함수에 의해 호출된 함수는 블록으로 나열됩니다. 선택된 함수 블록의 크기는 호출된 함수에서 발생한 선택된 함수의 총 성능 메트릭 크기를 나타냅니다.

  • 나열할 호출 함수가 너무 많으면 기여도가 가장 낮은 함수는 기타 블록에 수집됩니다. 호출자/호출 수신자 뷰 창에 선택된 함수의 모든 호출 함수 및 호출된 함수를 표시하려면 기타를 클릭합니다. 자세한 내용은 호출자/호출 수신자 뷰를 참조하세요.

  • 호출된 함수가 없는 경우 스택 맨 아래 블록이 나타납니다.

함수 성능 정보

함수 성능 정보 테이블은 선택된 함수의 성능 메트릭에 대한 요약 데이터를 제공합니다. 값과 백분율이 모두 표시됩니다. 차트 및 세부 정보 테이블에 나타나는 프로파일링 데이터를 성능 메트릭 목록에 지정합니다.

설명
전용 - 함수 본문 실행에서 발생한 성능 메트릭의 크기입니다.
호출 - 선택된 함수가 호출한 함수에서 발생한 성능 메트릭의 크기입니다.
포함 합계 - 전용호출 값의 합계입니다.

함수 코드 뷰

함수 코드 뷰 창에는 사용 가능한 소스 코드의 목록이 표시됩니다. 다른 함수를 호출하는 소스 코드 줄 옆에 있는 음영 처리된 열에는 호출된 함수에 대한 성능 메트릭 값이 포함됩니다. 소스 코드를 편집하려면 소스 코드 파일에 대한 링크를 클릭합니다.

비용 분산 가로 막대형 차트 값

샘플링

다음 표에서는 샘플링 방법을 사용하여 수집된 프로파일링 데이터에 대한 성능 메트릭 목록에 포함된 값에 대해 설명합니다.

포괄 샘플(수집한 샘플) - 호출 함수의 경우 선택된 함수가 이 호출 함수에 의해 호출될 때 수집된 샘플의 수입니다.
- 함수 본문의 경우 선택된 함수가 해당 함수 고유의 코드를 실행할 때 수집된 샘플 수입니다.
- 호출된 함수의 경우 선택된 함수에서 호출되었으므로 호출된 함수가 실행될 때 수집된 샘플의 수입니다.

계측

다음 표에서는 계측 방법을 사용하여 수집된 프로파일링 데이터에 대한 성능 메트릭 목록에 포함된 값에 대해 설명합니다.

경과된 포괄 시간(경과 시간) 경과 시간에는 컨텍스트 전환 및 입/출력 작업과 같이 운영 체제에 대한 호출에 소요된 시간이 제외됩니다.

- 호출 함수의 경우 함수가 호출한 선택된 함수의 인스턴스를 실행하는 데 소요된 경과 시간의 크기입니다. 선택된 함수가 호출한 함수에서 소요된 시간은 포함됩니다.
- 함수 본문의 경우 선택된 함수의 코드를 실행하는 데 경과된 총 시간의 크기입니다. 호출된 함수에서 소요된 시간은 포함되지 않습니다.
- 호출된 함수의 경우 선택된 함수가 호출한 함수의 인스턴스를 실행하는 데 소요된 시간의 크기입니다. 총 시간에 해당 함수가 호출한 함수에서 소요된 시간도 포함됩니다. 선택된 함수가 호출한 함수에서 소요된 시간은 포함됩니다.
응용 프로그램 포괄 시간(응용 프로그램 시간) 응용 프로그램 시간에는 컨텍스트 전환, 입/출력 작업 등 운영 체제에 대한 호출에 소요된 시간이 포함되지 않습니다.

- 호출 함수의 경우 함수가 호출한 선택된 함수의 인스턴스를 실행하는 데 소요된 응용 프로그램 시간의 크기입니다. 선택된 함수가 호출한 함수에서 소요된 시간은 포함됩니다.
- 함수 본문의 경우 선택된 함수의 코드를 실행하는 데 경과된 총 응용 프로그램 시간의 크기입니다. 호출된 함수에서 소요된 시간은 포함되지 않습니다.
- 호출된 함수의 경우 선택된 함수가 호출한 함수의 인스턴스를 실행하는 데 소요된 응용 프로그램 시간의 크기입니다. 총 시간에 해당 함수가 호출한 함수에서 소요된 시간도 포함됩니다.

.NET 메모리

다음 표에서는 .NET 메모리 프로파일링 방법을 사용하여 수집된 프로파일링 데이터에 대한 성능 메트릭 목록에 포함된 값에 대해 설명합니다.

포함 할당(할당) - 호출 함수의 경우 함수가 호출한 선택된 함수의 인스턴스에 의해 할당된 개체의 수입니다. 이 수에는 선택된 함수가 호출한 함수에 의해 할당된 개체가 포함됩니다.
- 함수 본문의 경우 선택된 함수가 자체 코드를 실행할 때 이 함수에 의해 할당된 개체의 수입니다. 선택된 함수가 호출한 함수에서 할당된 개체는 포함되지 않습니다.
- 호출된 함수의 경우 선택된 함수가 호출한 함수의 인스턴스에 의해 할당된 개체의 수입니다. 이 수에는 함수가 호출한 함수에 의해 할당된 개체가 포함됩니다.
포함 바이트(바이트) - 호출 함수의 경우 함수가 호출한 선택된 함수의 인스턴스에 의해 할당된 바이트의 수입니다. 이 수에는 선택된 함수가 호출한 함수에 의해 할당된 바이트가 포함됩니다.
- 함수 본문의 경우 선택된 함수가 자체 코드를 실행할 때 이 함수에 의해 할당된 바이트의 총 수입니다. 선택된 함수가 호출한 함수에서 할당된 바이트는 포함되지 않습니다.
- 호출된 함수의 경우 선택된 함수가 호출한 함수의 인스턴스에 의해 할당된 바이트의 수입니다. 이 수에는 함수가 호출한 함수에 의해 할당된 바이트가 포함됩니다.

동시성

다음 표에서는 동시성 방법을 사용하여 수집된 프로파일링 데이터에 대한 성능 메트릭 목록에 포함된 값에 대해 설명합니다.

포괄 경합(경합) - 호출 함수의 경우 함수가 호출한 선택된 함수의 인스턴스에서 발생한 리소스 경합 이벤트의 수입니다. 이 수에는 선택된 함수가 호출한 함수의 경합 이벤트가 포함됩니다.
- 함수 본문의 경우 함수가 자체 코드를 실행할 때 발생한 경합 이벤트의 총 수입니다. 선택된 함수가 호출한 함수에서 발생한 경합은 포함되지 않습니다.
- 호출된 함수의 경우 선택된 함수가 호출한 함수의 인스턴스에서 발생한 경합 이벤트의 수입니다. 이 수에는 해당 함수가 호출한 함수에서 발생한 경합 이벤트가 포함됩니다.
차단된 포괄 시간(차단된 시간) - 호출 함수의 경우 함수가 호출한 선택된 함수의 인스턴스에 대한 리소스 경합 이벤트에서 소요된 시간입니다. 이 시간에는 선택된 함수가 호출한 함수의 차단된 시간이 포함됩니다.
- 함수 본문의 경우 함수가 자체 코드를 실행할 때 발생한 경합 이벤트에서 소요된 총 시간입니다. 선택된 함수가 호출한 함수에서 발생한 경합은 포함되지 않습니다.
- 호출된 함수의 경우 선택된 함수가 호출한 함수의 인스턴스에 대한 리소스 경합 이벤트에서 소요된 시간입니다. 이 시간에는 해당 함수가 호출한 함수에서 발생한 차단된 시간이 포함됩니다.