JProfiler 도움말Download

호출 트리의 일부 보기


호출 트리는 종종 너무 많은 정보를 포함하고 있습니다. 표시된 세부 정보를 줄이고 싶을 때는 여러 가지 방법이 있습니다: 특정 서브트리로 표시된 데이터를 제한하거나, 모든 불필요한 데이터를 제거하거나, 메서드 호출을 표시하기 위한 더 거친 필터를 사용할 수 있습니다. 이러한 모든 전략은 JProfiler에서 지원됩니다.

호출 트리 루트 설정

순차적으로 실행되는 여러 작업으로 구성된 사용 사례를 프로파일링할 경우, 각 서브트리를 개별적으로 분석할 수 있습니다. 그러한 하위 작업의 진입점을 찾으면, 주변 호출 트리는 단지 방해 요소가 되며 서브트리의 타이밍 백분율은 전체 호출 트리의 루트를 참조하게 됩니다.

특정 서브트리에 집중하기 위해, JProfiler는 호출 트리와 할당 호출 트리 뷰에서 루트로 설정 컨텍스트 액션을 제공합니다.

호출 트리 루트를 설정한 후, 선택한 루트에 대한 정보가 뷰 상단에 표시됩니다. 스크롤 가능한 단일 레이블은 루트까지 이어지는 마지막 몇 개의 스택 요소를 보여주며, 자세히 보기 버튼을 클릭하면 호출 트리 루트의 전체 스택을 포함한 세부 대화 상자가 표시됩니다.

루트 설정 액션을 재귀적으로 사용할 때, 호출 스택 접두사는 단순히 연결됩니다. 이전 호출 트리로 돌아가려면, 호출 트리 히스토리의 뒤로 버튼을 사용하여 한 번에 하나의 루트 변경을 실행 취소하거나, 컨텍스트 메뉴에서 루트 재설정 및 모두 보기 액션을 사용하여 한 번에 원래 트리로 돌아갈 수 있습니다.

호출 트리 루트를 변경할 때 가장 중요한 것은 핫스팟 뷰가 전체 트리가 아닌 선택한 루트에 대해서만 계산된 데이터를 표시한다는 것입니다. 핫스팟 뷰 상단에는 호출 트리 뷰와 마찬가지로 현재 호출 트리 루트가 표시되어 표시된 데이터의 컨텍스트를 상기시킵니다.

호출 트리의 일부 제거

때로는 특정 메서드가 존재하지 않는 경우 호출 트리가 어떻게 보일지 확인하는 것이 도움이 됩니다. 예를 들어, 개발 환경에서 빠르게 반복할 수 없는 프로덕션 시스템의 스냅샷을 사용하고 있기 때문에 한 번에 여러 성능 문제를 해결해야 하는 경우가 있을 수 있습니다. 주요 성능 문제를 해결한 후에는 두 번째 문제를 분석하고 싶지만, 첫 번째 문제가 트리에서 제거되어야만 명확하게 볼 수 있습니다.

호출 트리의 노드는 선택하여 Delete 키를 누르거나 컨텍스트 메뉴에서 선택한 서브트리 제거를 선택하여 서브트리와 함께 제거할 수 있습니다. 상위 노드의 시간은 숨겨진 노드가 존재하지 않는 것처럼 적절히 수정됩니다.

제거 모드는 세 가지가 있습니다. 모든 호출 제거 모드에서는 JProfiler가 전체 호출 트리에서 선택한 메서드의 모든 호출을 검색하고 서브트리와 함께 제거합니다. 서브트리만 제거 옵션은 선택한 서브트리만 제거합니다. 마지막으로, 자체 시간을 0으로 설정은 호출 트리에 선택한 노드를 남겨두지만 자체 시간을 0으로 설정합니다. 이는 Thread.run과 같은 많은 시간을 프로파일되지 않은 클래스에서 포함할 수 있는 컨테이너 노드에 유용합니다.

루트로 설정 액션과 마찬가지로, 제거된 노드는 핫스팟 뷰에 영향을 미칩니다. 이 방법으로, 해당 메서드가 중요하지 않은 기여로 최적화된 경우 핫스팟이 어떻게 보일지 확인할 수 있습니다.

노드를 제거하면 호출 트리와 핫스팟 뷰의 헤더 영역에 제거된 노드의 수와 제거된 서브트리 복원 버튼이 표시됩니다. 해당 버튼을 클릭하면 제거된 요소를 다시 표시할 수 있는 대화 상자가 나타납니다.

호출 트리 뷰 필터

핫스팟 뷰에 표시된 데이터에 영향을 미치는 호출의 세 번째 기능은 뷰 필터입니다. 호출 트리 필터를 변경하면 계산된 핫스팟에 큰 영향을 미칩니다. 호출 트리 뷰와의 상호 의존성을 강조하기 위해, 핫스팟 뷰는 뷰 상단에 호출 트리 뷰 필터를 표시하고 추가 필터를 제거하는 버튼을 함께 제공합니다.

호출 트리 루트 설정, 호출 트리의 일부 제거 및 뷰 필터는 함께 사용할 수 있으며, 뷰 필터는 마지막에 설정해야 한다는 제한이 있습니다. 호출 트리에 뷰 필터가 설정되면, 루트로 설정선택한 서브트리 제거 액션은 더 이상 작동하지 않습니다.

호출 그래프와의 상호작용

호출 트리 또는 핫스팟 뷰에서 그래프 보기 액션을 호출하면 동일한 호출 트리 루트로 제한되고, 제거된 메서드를 포함하지 않으며, 구성된 호출 트리 뷰 필터를 사용하는 그래프가 표시됩니다. 그래프 상단에는 이러한 변경 사항에 대한 정보가 호출 트리와 유사한 형태로 표시됩니다.

그래프 뷰 자체에서 새 그래프를 생성할 때, 마법사의 체크 박스를 통해 호출 그래프 계산에 고려해야 할 호출 트리 조정 기능을 선택할 수 있습니다. 각 체크 박스는 호출 트리 뷰에서 해당 기능이 현재 사용 중인 경우에만 표시됩니다.