JProfiler 도움말Download

JFR 이벤트 브라우저


이벤트 브라우저는 JFR 스냅샷에 기록된 모든 데이터를 보여줍니다.

JFR은 이벤트 유형을 계층적 카테고리로 구성하여 이벤트 브라우저의 왼쪽에 트리를 형성합니다. 단일 이벤트 유형을 선택하여 기록된 이벤트를 표시할 수 있습니다. 기본적으로 JProfiler는 모든 등록된 이벤트 유형을 표시하며, 이벤트가 기록되지 않은 경우에도 표시됩니다. 또는 뷰 설정 대화상자에서 빈 이벤트 카테고리를 숨길 수 있습니다.

JFR 이벤트

이벤트는 이벤트 유형 트리에서 선택에 따라 열이 달라지는 메인 테이블의 행으로 표시됩니다.

테이블의 이벤트는 기본적으로 시간순으로 정렬됩니다. UI 과부하를 피하기 위해 처음 10000개의 이벤트만 테이블에 표시됩니다. 아래의 분석은 항상 모든 이벤트에서 계산됩니다. 필터를 설정하면 처음 10000개만이 아닌 모든 이벤트를 확인합니다. 이는 필터를 설정할 때 이전에 표시되지 않았던 이벤트가 테이블에 나타날 수 있음을 의미합니다.

또한 여러 이벤트 유형 또는 전체 카테고리를 선택할 수도 있습니다. 이 경우 선택된 모든 이벤트의 합집합이 테이블에 표시됩니다. 각 이벤트 유형은 자체 열 세트를 가지고 있기 때문에, 선택된 모든 이벤트 유형에 공통적인 열만 포함됩니다.

사용 가능한 분석의 수는 또한 사용 가능한 열에 따라 추가되기 때문에 줄어들 수 있습니다.

열 너비는 실제 콘텐츠에 따라 자동으로 조정되며, 열을 조정하면 동일한 콘텐츠 유형의 열 너비가 선택에 고정되어 더 이상 자동으로 변경되지 않습니다. 뷰 설정 대화상자에서 열 너비 지우기를 할 때까지는 변경되지 않습니다. 시간이나 메모리와 같은 단위가 있는 열의 스케일도 각 셀에 대해 자동으로 계산됩니다. 비교를 위해 열의 스케일을 고정하려면, 뷰 설정 대화상자에서 각 열에 대한 옵션을 제공합니다. 이 경우 설정은 선택된 각 이벤트 유형에 대해 별도로 저장됩니다.

이벤트를 필터링하는 여러 가지 방법이 있습니다. 테이블 상단에는 필터 선택기가 있어 모든 텍스트 열에서 필터링하거나 단일 열을 선택하고 열 유형에 맞는 필터를 구성할 수 있습니다.

필터링의 또 다른 방법은 관심 있는 행을 선택하고 컨텍스트 메뉴를 사용하여 선택된 행의 값에 기반한 특정 필터를 선택하는 것입니다. 상단의 필터 선택기가 조정되어 선택 사항을 표시합니다. 이제 다른 값을 선택하고 필터를 다시 추가할 수 있으며, 그러면 동일한 열에 대한 이전 필터를 대체합니다. 일반적으로 각 필터 유형은 한 번만 존재할 수 있으며 동일한 필터를 다시 설정하면 이전 필터를 대체합니다.

스택 트레이스

JProfiler에서는 선택된 이벤트의 스택 트레이스가 이벤트 테이블 아래의 분할 창의 "선택" 탭에 표시됩니다.

여러 이벤트를 선택하면 선택 탭이 변경되어 선택된 이벤트의 스택 트레이스에서 계산된 핫스팟 또는 누적 호출 트리를 보여주는 뷰로 변경됩니다.

기본적으로 이벤트 수가 호출 트리와 핫스팟 뷰의 노드에 대한 백분율을 결정합니다. 일부 이벤트 유형은 이 목적에 적합한 다른 측정을 포함합니다. 예를 들어, 지속 시간이나 할당된 메모리 등이 있습니다. 이러한 측정이 가능한 경우, 선택 탭의 두 번째 드롭다운에서 핫스팟 유형으로 선택할 수 있습니다.

하단 분할 창의 "핫스팟" 및 "호출 트리" 뷰는 동일한 뷰를 포함하지만, 스냅샷의 모든 이벤트에 대해 계산됩니다. 선택 탭과 마찬가지로, "핫스팟 유형" 드롭다운도 있습니다. 모든 이벤트를 표시하는 것 외에도, 이러한 뷰에서 필터를 선택할 수 있습니다. 호출 트리 뷰에서는 특정 호출 스택을 선택하고 선택된 필터 버튼을 클릭하면 위의 테이블에 해당 호출 스택이 있는 이벤트만 표시됩니다. 핫스팟 뷰에서는 최상위 핫스팟이나 백트레이스의 노드를 선택하여 선택된 노드로의 역 호출 스택 조각으로 끝나는 이벤트만 표시할 수 있습니다.

위의 스크린샷에서 백트레이스의 노드가 필터 노드로 선택된 것을 볼 수 있습니다. 일반적인 호출 트리 아이콘 외에도 체크 마크가 포함되어 있습니다. 필터는 상단의 태그 레이블이나 필터 제거 버튼을 통해 제거할 수 있습니다. 테이블의 이벤트 수는 선택된 노드의 수와 같습니다. 핫스팟 트리는 핫스팟 뷰에서 설정된 필터 없이 모든 이벤트를 계속 표시합니다.

이는 분석 뷰에서 설정된 필터의 일반적인 기능입니다: 분석 뷰 자체는 모든 필터링된 이벤트에서 계산되지만, 분석 뷰에서 설정된 필터를 제외하고 계산됩니다. 이는 분석 뷰를 더 유용하게 만들어 주며, 전체 이벤트 집합에서 선택한 부분을 볼 수 있습니다.

타임라인 뷰

모든 JFR 이벤트는 관련된 시간을 가지고 있으므로, 모든 이벤트 유형 또는 이벤트 유형 집합은 이벤트의 시간 순서 분포를 보여주는 타임라인 뷰를 가지고 있습니다.

특정 시간 범위에 집중하려면 시간 축을 따라 드래그할 수 있습니다. 위의 예에서는 이제 두 개의 필터가 있습니다: 핫스팟의 백트레이스에서의 필터와 타임라인 뷰에서의 필터입니다. 다시 말해, 타임라인 뷰는 전체 시간 범위를 계속 표시하지만, 다른 분석 뷰는 이제 선택된 시간 범위의 이벤트만 표시합니다.

기본 표시 모드는 로그 모드로, 이벤트 수가 적은 영역도 이벤트 수가 많은 영역에 대해 여전히 보이도록 합니다. 타임라인 아래의 log 버튼을 선택 해제하여 선형 모드로 전환할 수 있습니다. 기본적으로 전체 시간 범위가 사용 가능한 너비에 표시되지만, 가변 시간 범위로 전환하고 다른 JProfiler의 텔레메트리와 마찬가지로 확대 및 스크롤할 수 있습니다. 또한 북마크를 사용할 수 있으며, 선택된 시간 범위에 수직 마커를 추가할 수 있습니다. 이렇게 하면 다른 이벤트 유형 간에 시간을 비교할 수 있습니다.

히스토그램 뷰

지속 시간 및 할당 크기와 같이 여러 이벤트에 대해 합산할 수 있는 모든 측정은 특별한 방식으로 처리됩니다: 첫째, 이벤트 테이블의 이러한 측정의 열은 하단에 총 값을 가지고 있습니다. 둘째, 호출 트리 및 핫스팟 분석 뷰는 이벤트 수 대신 이러한 측정으로 트리를 계산하기 위해 "핫스팟 유형" 드롭다운을 제공합니다. 마지막으로, 각 측정에 대해 하단 분할 패널에 히스토그램 분석이 추가됩니다.

히스토그램은 수직 축에 이벤트 수를 표시하고, 수평 축은 선택된 측정을 보여주며, 분포를 계산할 수 있도록 여러 개의 빈으로 나뉩니다. 빈 크기와 이벤트 수는 툴팁에서 확인할 수 있습니다.

위의 스크린샷은 히스토그램에서 필터가 설정된 방법을 보여줍니다. 다른 분석 뷰와 마찬가지로, 필터는 다른 분석 뷰에만 적용되며, 전체 히스토그램은 여전히 표시됩니다. 타임라인 뷰와 마찬가지로, 히스토그램은 기본적으로 로그 수직 축을 가지고 있습니다. 여기서 스크린샷의 선택된 이벤트는 선형 축에서는 보이지 않을 것입니다.