스냅샷 비교
현재 애플리케이션의 런타임 특성을 이전 버전과 비교하는 것은 성능 회귀를 방지하기 위한 일반적인 품질 보증 기술입니다. 또한, 단일 프로파일링 세션 내에서 성능 문제를 해결하는 데 유용할 수 있으며, 여기서 두 가지 다른 사용 사례를 비교하여 하나가 다른 것보다 느린 이유를 찾을 수 있습니다. 두 경우 모두 관심 있는 기록된 데이터를 포함한 스냅샷을 저장하고 메뉴에서 세션→새 창에서 스냅샷 비교를 호출하거나 시작 센터의 스냅샷 열기 탭에서 여러 스냅샷 비교 버튼을 클릭하여 JProfiler의 스냅샷 비교 기능을 사용합니다.
스냅샷 선택
비교는 별도의 최상위 창에서 생성되고 표시됩니다. 먼저 스냅샷 선택기에 여러 스냅샷을 추가합니다. 그런 다음 관심 있는 스냅샷을 선택하고 비교 도구 모음 버튼을 클릭하여 나열된 스냅샷 중 두 개 이상에서 비교를 생성할 수 있습니다. 목록에서 스냅샷 파일의 순서는 중요합니다. 모든 비교는 목록에서 아래쪽에 있는 스냅샷이 나중에 기록되었다고 가정합니다. 스냅샷을 수동으로 배열하는 것 외에도 이름이나 생성 시간으로 정렬할 수 있습니다.
JProfiler의 메인 창에 있는 뷰와 달리, 비교 뷰에는 고정된 뷰 매개변수가 있으며, 이는 매개변수를 즉석에서 조정할 수 있는 드롭다운 목록 대신 상단에 표시됩니다. 모든 비교는 비교를 위한 매개변수를 수집하는 마법사를 표시하며, 동일한 매개변수로 여러 번 동일한 비교를 수행할 수 있습니다. 마법사는 이전 호출에서 매개변수를 기억하므로 여러 세트의 스냅샷을 비교할 때 구성을 반복할 필요가 없습니다. 언제든지 완료 버튼으로 마법사를 단축하거나 인덱스에서 단계를 클릭하여 다른 단계로 이동할 수 있습니다.
비교가 활성화되면 분석된 스냅샷이 번호 접두사와 함께 표시됩니다. 두 개의 스냅샷으로 작동하는 비교의 경우 표시된 차이는 스냅샷 2의 측정값에서 스냅샷 1의 측정값을 뺀 것입니다.
CPU 비교의 경우, 동일한 스냅샷을 첫 번째 및 두 번째 스냅샷으로 사용하고 마법사에서 다른 스레드 또는 스레드 그룹을 선택할 수 있습니다.
테이블과의 비교
가장 간단한 비교는 "객체" 메모리 비교입니다. 이는 힙 워커의 "모든 객체", "기록된 객체" 또는 "클래스" 뷰의 데이터를 비교할 수 있습니다. 비교의 열은 인스턴스 수와 크기의 차이를 보여주지만, 인스턴스 수 열만이 양방향 막대 차트를 보여주며, 증가가 빨간색으로 오른쪽에, 감소가 녹색으로 왼쪽에 그려집니다.
뷰 설정 대화 상자에서 이 막대 차트를 절대 변화량 또는 백분율로 표시할지 선택할 수 있습니다. 다른 값은 괄호 안에 표시됩니다. 이 설정은 또한 열이 정렬되는 방식을 결정합니다.
첫 번째 데이터 열의 측정값은 기본 측정값이라고 하며, 뷰 설정에서 기본 인스턴스 수에서 얕은 크기로 전환할 수 있습니다.
테이블의 컨텍스트 메뉴는 동일한 비교 매개변수와 선택된 클래스에 대해 다른 메모리 비교로의 단축키를 제공합니다.
객체 비교와 마찬가지로, CPU 핫스팟, 프로브 핫스팟 및 할당 핫스팟 비교도 유사한 테이블로 표시됩니다.
트리와의 비교
CPU 호출 트리, 할당 호출 트리 및 프로브 호출 트리 각각에 대해 선택된 스냅샷 간의 차이를 보여주는 또 다른 트리를 계산할 수 있습니다. 일반 호출 트리 뷰와 달리, 인라인 막대 다이어그램은 이제 변화량을 표시하며, 증가의 경우 빨간색, 감소의 경우 녹색으로 표시됩니다.
작업에 따라 두 스냅샷 파일 모두에 존재하고 하나의 스냅샷 파일에서 다른 스냅샷 파일로 변경된 호출 스택만 보는 것이 더 쉬울 수 있습니다. 뷰 설정 대화 상자에서 이 동작을 변경할 수 있습니다.
CPU 및 프로브 호출 트리 비교의 경우 총 시간 대신 평균 시간을 비교하는 것이 흥미로울 수 있습니다. 이는 마법사의 "뷰 매개변수" 단계에서 선택할 수 있는 옵션입니다.
텔레메트리 비교
텔레메트리 비교에서는 동시에 두 개 이상의 스냅샷을 비교할 수 있습니다. 스냅샷 선택기에서 스냅샷을 선택하지 않으면, 마법사는 모든 스냅샷을 비교하려고 한다고 가정합니다. 텔레메트리 비교에는 시간 축이 없으며, 대신 선택된 스냅샷을 순서대로 x축에 표시합니다. 도구 팁에는 스냅샷의 전체 이름이 포함되어 있습니다.
비교는 각 스냅샷에서 하나의 숫자를 추출합니다. 텔레메트리 데이터는 시간에 따라 해상도가 있으므로 여러 가지 방법으로 수행할 수 있습니다. 마법사의 "비교 유형" 단계에서는 스냅샷이 저장될 때의 값을 사용하거나 최대값을 계산하거나 선택된 북마크에서 값을 찾는 옵션을 제공합니다.