JProfiler 도움말

스냅샷 비교

현재 애플리케이션의 런타임 특성을 이전 버전과 비교하는 것은 성능 저하를 방지하기 위한 일반적인 품질 보증 기법입니다. 또한 단일 프로파일링 세션 범위 내에서 성능 문제를 해결할 때도 유용할 수 있으며, 서로 다른 두 가지 사용 사례를 비교하여 어느 한쪽이 다른 쪽보다 느린 이유를 파악할 수 있습니다. 두 경우 모두 관심 있는 기록 데이터가 포함된 스냅샷을 저장한 다음, 메뉴에서 세션→새 창에서 스냅샷 비교를 실행하거나 시작 센터의 스냅샷 열기 탭에서 여러 스냅샷 비교 버튼을 클릭하여 JProfiler의 스냅샷 비교 기능을 사용할 수 있습니다.

스냅샷 선택

비교는 별도의 최상위 창에서 생성되고 표시됩니다. 먼저 스냅샷 선택기에서 여러 스냅샷을 추가합니다. 그런 다음 관심 있는 스냅샷을 선택하고 비교 툴바 버튼을 클릭하여 나열된 스냅샷 중 둘 이상으로 비교를 생성할 수 있습니다. 모든 비교에서는 목록의 아래쪽에 있는 스냅샷이 더 나중에 기록된 것으로 간주하므로 목록 내 스냅샷 파일의 순서가 중요합니다. 스냅샷을 수동으로 정렬하는 것 외에도 이름이나 생성 시간순으로 정렬할 수 있습니다.

매개변수를 즉각적으로 조정할 수 있는 드롭다운 목록이 제공되는 JProfiler 기본 창의 뷰와 달리, 비교 뷰에는 상단에 고정된 뷰 매개변수가 표시됩니다. 모든 비교에는 비교에 필요한 매개변수를 수집하기 위한 마법사가 표시되며, 동일한 매개변수로 동일한 비교를 여러 번 수행할 수 있습니다. 마법사는 이전 실행 시의 매개변수를 기억하므로 여러 스냅샷 세트를 비교할 때 구성을 반복할 필요가 없습니다. 언제든지 완료 버튼으로 마법사를 바로 마치거나 색인에서 해당 단계를 클릭하여 다른 단계로 건너뛸 수 있습니다.

비교가 활성화되면 분석된 스냅샷이 숫자 접두사와 함께 표시됩니다. 두 개의 스냅샷으로 작동하는 비교의 경우, 표시되는 차이값은 스냅샷 2의 측정값에서 스냅샷 1의 측정값을 뺀 값입니다.

CPU 비교의 경우 동일한 스냅샷을 첫 번째 및 두 번째 스냅샷으로 사용하고 마법사에서 서로 다른 스레드 또는 스레드 그룹을 선택할 수 있습니다.

테이블을 사용한 비교

가장 단순한 비교는 "객체" 메모리 비교입니다. 힙 워커의 "모든 객체", "기록된 객체" 또는 "클래스" 뷰의 데이터를 비교할 수 있습니다. 비교의 열에는 인스턴스 수 및 크기의 차이가 표시되지만, 인스턴스 수 열에만 양방향 막대 차트가 표시되어 증가는 빨간색으로 오른쪽에, 감소는 녹색으로 왼쪽에 표시됩니다.

뷰 설정 대화상자에서 이 막대 차트에 절대적 변화량을 표시할지 백분율을 표시할지 선택할 수 있습니다. 다른 값은 괄호 안에 표시됩니다. 이 설정은 열이 정렬되는 방식도 결정합니다.

첫 번째 데이터 열의 측정값을 기본 측정값이라고 하며, 뷰 설정에서 기본값인 인스턴스 수에서 얕은 크기(shallow size)로 전환할 수 있습니다.

테이블의 컨텍스트 메뉴를 사용하면 동일한 비교 매개변수를 적용하여 선택한 클래스에 대한 다른 메모리 비교로 바로 이동할 수 있습니다.

객체 비교와 마찬가지로 CPU 핫스팟, 프로브 핫스팟 및 할당 핫스팟 비교도 유사한 테이블에 표시됩니다.

트리를 사용한 비교

CPU 호출 트리, 할당 호출 트리 및 프로브 호출 트리 각각에 대해 선택한 스냅샷 간의 차이를 보여주는 또 다른 트리를 계산할 수 있습니다. 일반적인 호출 트리 뷰와 달리 인라인 막대 다이어그램에 변화량이 표시되며, 증가는 빨간색, 감소는 녹색으로 표시됩니다.

수행할 작업에 따라 두 스냅샷 파일 모두에 존재하면서 한 스냅샷 파일에서 다른 스냅샷 파일로 변경된 호출 스택만 표시하면 분석이 더 쉬워질 수 있습니다. 뷰 설정 대화상자에서 이 동작을 변경할 수 있습니다.

CPU 및 프로브 호출 트리 비교의 경우 총 시간 대신 평균 시간을 비교하는 것이 유용할 수 있습니다. 이는 마법사의 "뷰 매개변수" 단계에 있는 옵션입니다.

텔레메트리 비교

텔레메트리 비교의 경우 둘 이상의 스냅샷을 동시에 비교할 수 있습니다. 스냅샷 선택기에서 스냅샷을 선택하지 않으면 마법사는 모든 스냅샷을 비교하려는 것으로 간주합니다. 텔레메트리 비교에는 시간 축이 없으며, 번호가 매겨진 선택된 스냅샷이 순서형 x축으로 대신 표시됩니다. 툴팁에는 스냅샷의 전체 이름이 포함됩니다.

비교 시 각 스냅샷에서 하나의 숫자를 추출합니다. 텔레메트리 데이터는 시간 분해되므로 여러 가지 추출 방식이 있습니다. 마법사의 "비교 유형" 단계에서는 스냅샷이 저장되었을 때의 값을 사용하거나, 최댓값을 계산하거나, 선택한 북마크에서의 값을 찾는 옵션을 제공합니다.