JProfiler 도움말Download

IDE 통합


애플리케이션을 프로파일링할 때, JProfiler의 뷰에 나타나는 메서드와 클래스는 종종 소스 코드를 확인해야만 답을 얻을 수 있는 질문을 유발합니다. JProfiler는 이를 위해 내장된 소스 코드 뷰어를 제공하지만, 기능이 제한적입니다. 또한, 문제가 발견되면 다음 단계는 보통 문제의 코드를 수정하는 것입니다. 이상적으로는 JProfiler의 프로파일링 뷰에서 IDE로 직접 연결되어 수동 검색 없이 코드를 검사하고 개선할 수 있어야 합니다.

IDE 통합 설치

JProfiler는 IntelliJ IDEA, eclipse 및 NetBeans에 대한 IDE 통합을 제공합니다. IDE 플러그인을 설치하려면 메인 메뉴에서 세션→IDE 통합을 호출하십시오. IntelliJ IDEA의 플러그인 설치는 IDE의 플러그인 관리로 수행되며, 다른 IDE의 경우 플러그인은 JProfiler에 의해 직접 설치됩니다. 설치 프로그램은 또한 JProfiler 설치와 함께 IDE 플러그인을 쉽게 업데이트할 수 있도록 이 작업을 제공합니다. 통합 마법사는 플러그인을 JProfiler의 현재 설치 디렉토리와 연결합니다. IDE 플러그인 설정에서 언제든지 사용 중인 JProfiler 버전을 변경할 수 있습니다. 플러그인과 JProfiler GUI 간의 프로토콜은 이전 버전의 JProfiler와도 호환되며 작동할 수 있습니다.

IntelliJ IDEA 통합은 플러그인 관리자에서도 설치할 수 있습니다. 이 경우, 처음 프로파일링할 때 플러그인은 JProfiler 실행 파일의 위치를 묻습니다.

다양한 플랫폼에서 JProfiler 실행 파일은 다른 디렉토리에 위치합니다. Windows에서는 bin\jprofiler.exe, Linux 또는 Unix에서는 bin/jprofiler, macOS에서는 IDE 통합을 위한 JProfiler 애플리케이션 번들 내에 특별한 헬퍼 셸 스크립트 Contents/Resources/app/bin/macos/jprofiler.sh가 있습니다.

소스 코드 탐색

JProfiler에서 클래스 이름이나 메서드 이름이 표시되는 모든 곳에서 컨텍스트 메뉴에는 소스 보기 작업이 포함되어 있습니다.

세션이 IDE에서 시작되지 않은 경우, 내장된 소스 코드 뷰어가 컴파일된 클래스 파일의 라인 번호 테이블을 사용하여 메서드를 찾습니다. 소스 파일은 애플리케이션 설정에서 루트 디렉토리 또는 포함된 ZIP 파일이 구성된 경우에만 찾을 수 있습니다.

소스 코드 표시와 함께, jclasslib 바이트코드 뷰어를 기반으로 한 바이트코드 뷰어가 컴파일된 클래스 파일의 구조를 보여줍니다.

세션이 IDE에서 시작된 경우, 통합된 소스 코드 뷰어는 사용되지 않으며 소스 보기 작업은 IDE 플러그인으로 위임됩니다. IDE 통합은 시작된 프로파일링 세션, 저장된 스냅샷 열기 및 실행 중인 JVM에 attach하는 것을 지원합니다.

라이브 프로파일링 세션의 경우, 프로파일된 애플리케이션을 실행하거나 디버깅하는 것과 유사하게 IDE에서 시작합니다. JProfiler 플러그인은 프로파일링을 위한 VM 매개변수를 삽입하고 JProfiler 창을 연결합니다. JProfiler는 별도의 프로세스로 실행되며 필요할 경우 플러그인에 의해 시작됩니다. JProfiler의 소스 코드 탐색 요청은 IDE의 관련 프로젝트로 전송됩니다. JProfiler와 IDE 플러그인은 작업 표시줄 항목이 깜박이지 않고 창 전환을 매끄럽게 하기 위해 협력하여 단일 프로세스를 다루는 것처럼 보이게 합니다.

세션을 시작할 때, "세션 시작" 대화 상자에서 모든 프로파일링 설정을 구성할 수 있습니다. 시작된 세션에 사용되는 구성된 프로파일링 설정은 IDE 통합에 따라 프로젝트별 또는 실행 구성별로 JProfiler에 의해 기억됩니다. 세션이 처음 프로파일링될 때, IDE 플러그인은 소스 파일의 패키지 계층 구조에서 최상위 클래스에 기반하여 프로파일된 패키지 목록을 자동으로 결정합니다. 이후 언제든지 세션 설정 대화 상자의 필터 설정 단계로 이동하여 이 계산을 다시 수행하기 위해 재설정 버튼을 사용할 수 있습니다.

스냅샷의 경우, IDE 통합은 IDE 내에서 파일→열기 작업을 통해 스냅샷 파일을 열거나 프로젝트 창에서 더블 클릭하여 설정됩니다. JProfiler에서의 소스 코드 탐색은 현재 프로젝트로 안내됩니다. 마지막으로, IDE 플러그인은 실행 중인 JVM을 선택하고 스냅샷 메커니즘과 유사하게 IDE로 소스 코드 탐색을 가져오는 JVM에 Attach 작업을 IDE에 추가합니다.

때로는 특정 클래스나 메서드를 염두에 두지 않고 IDE로 전환하고 싶을 수 있습니다. 이를 위해 JProfiler 창의 도구 모음에는 IDE 통합에 의해 열리는 프로파일링 세션에 대해 표시되는 IDE 활성화 버튼이 있습니다. 이 작업은 IDE에서 JProfiler 활성화 작업과 마찬가지로 F11 키에 바인딩되어 있어 동일한 키 바인딩으로 IDE와 JProfiler 간을 자유롭게 전환할 수 있습니다.

IntelliJ IDEA 통합

IntelliJ IDEA에서 애플리케이션을 프로파일링하려면 실행 메뉴에서 프로파일링 명령 중 하나를 선택하거나 메인 도구 모음의 실행 또는 디버그 작업 옆 드롭다운 메뉴를 클릭하여 "JProfiler로 프로파일" 작업을 선택하십시오. JProfiler는 애플리케이션 서버를 포함한 대부분의 실행 IDEA 구성 유형을 프로파일링할 수 있습니다.

JProfiler 플러그인은 실행 구성에 추가 설정을 추가하며, 이는 즉시 보이지 않습니다. 이러한 설정에 액세스하려면 "옵션 수정" 드롭다운에서 "프로파일" 옵션을 선택하십시오. 다른 모든 프로파일링 설정은 JProfiler 창의 시작 대화 상자에서 구성할 수 있습니다.

프로파일링 세션이 시작되면 출력은 별도의 JProfiler 도구 창에 나타납니다. 해당 도구 창은 JProfiler UI에 연결한 후 사용할 수 있는 "JProfiler" 탭과 함께 일반 실행 도구 창과 같은 콘솔 출력을 표시합니다:

JProfiler 도구 창은 IntelliJ IDEA에서 JProfiler 스냅샷을 열거나 "JProfiler로 JVM에 Attach" 작업으로 실행 중인 JVM에 attach할 때도 표시됩니다.

"JProfiler" 탭에는 CPU 데이터, 할당 데이터 및 프로브 이벤트에 대한 데이터 기록을 시작하고 중지하는 작업이 포함되어 있습니다. 또한 JProfiler 창으로 전환할 수 있는 작업도 포함되어 있습니다. JProfiler 창에는 IDEA 창으로 다시 전환할 수 있는 유사한 작업이 포함되어 있어 두 개의 별도 창을 편리하게 사용할 수 있습니다. JProfiler에서 IntelliJ IDEA로의 정밀한 소스 코드 탐색은 Java와 Kotlin에 대해 구현되어 있습니다.

프로파일링 정보는 일반적으로 JProfiler 창에 표시되지만, CPU 그래프 데이터는 소스 코드에 직접 이 데이터를 표시하는 것이 의미가 있기 때문에 IntelliJ IDEA UI에도 통합됩니다. IntelliJ IDEA에서 "그래프 적용" 작업을 사용하거나 JProfiler에서 CPU 그래프를 생성하여 IntelliJ IDEA 내에서 CPU 데이터를 표시하십시오. 스레드 선택과 같은 고급 매개변수를 구성하거나 호출 트리 루트, 호출 트리 제거 및 호출 트리 뷰 필터 설정을 호출 트리 뷰에서 사용하려면 JProfiler 창에서 그래프를 생성해야 합니다.

CPU 데이터가 적용되면 "JProfiler" 탭에는 기록된 메서드 목록이 표시됩니다. 메서드를 더블 클릭하면 소스 코드로 이동합니다. 소스 코드 편집기의 구석에는 들어오고 나가는 호출에 대한 화살표가 추가됩니다.

구석 아이콘을 클릭하면 팝업 창에 들어오고 나가는 메서드가 표시되며, 기록된 시간을 보여주는 막대 차트가 함께 표시됩니다. 팝업의 행을 클릭하면 해당 메서드로 이동합니다.

또한 팝업 하단에는 대상 메서드의 총 기록 시간과 호출 횟수가 표시됩니다. 팝업의 오른쪽 하단에 있는 "JProfiler에서 보기" 드롭다운은 JProfiler UI로의 컨텍스트 종속 탐색 작업을 제공합니다. 선택한 노드 또는 메서드 그래프에서 해당 호출 트리 분석을 표시할 수 있습니다. 나가는 호출의 경우 "누적 나가는 호출" 분석이 제공되며, 들어오는 호출의 경우 "백트레이스" 분석이 제공됩니다.

동일한 탐색 작업은 "JProfiler" 탭의 메서드 테이블의 컨텍스트 메뉴에서도 사용할 수 있습니다:

JProfiler 플러그인은 메인 도구 모음에 추가할 수 있는 "JProfiler로 JVM에 Attach" 작업에 대한 도구 모음 빠른 작업을 제공합니다. 이 작업을 통해 이미 실행 중인 프로세스에 attach하고 JProfiler UI에서 IntelliJ IDEA로의 소스 코드 탐색뿐만 아니라 소스 코드 편집기에서 인라인 CPU 그래프 데이터를 얻을 수 있습니다:

작업 버튼이 추가되면 이렇게 보입니다:

JProfiler의 모든 작업에 대한 키 바인딩은 IntelliJ IDEA의 "키맵" 설정에서 사용자 정의할 수 있습니다. 충돌하지 않는 키보드 단축키의 제한된 가용성을 감안할 때, 소스 코드 편집기에서 JProfiler UI로의 탐색 작업은 Ctrl-Alt-Shift-O를 먼저 누르고 탐색 작업을 선택하기 위해 다른 키를 누르는 체인 단축키입니다. 이 기능을 자주 사용하는 경우 더 간단한 키보드 단축키를 할당할 수 있습니다.

IDE 설정의 도구->JProfiler 페이지에서 사용 중인 JProfiler 실행 파일과 새로운 프로파일링 세션에 대해 항상 새로운 창을 열지 여부를 조정할 수 있습니다.

Eclipse 통합

eclipse 플러그인은 테스트 실행 구성 및 WTP 실행 구성을 포함한 대부분의 일반 실행 구성 유형을 프로파일링할 수 있습니다. eclipse 플러그인은 eclipse 프레임워크의 부분 설치가 아닌 전체 eclipse SDK와 함께만 작동합니다.

eclipse에서 애플리케이션을 프로파일링하려면 실행 메뉴에서 프로파일링 명령 중 하나를 선택하거나 해당 도구 모음 버튼을 클릭하십시오. 프로파일 명령은 eclipse의 디버그 및 실행 명령과 동일하며, 실행→JProfiler를 JVM에 Attach 메뉴 항목을 제외하고 eclipse의 인프라의 일부입니다. 이 메뉴 항목은 JProfiler 플러그인에 의해 추가됩니다.

Java 관점에서 실행→프로파일 ... 메뉴 항목이 존재하지 않는 경우, 창→관점→관점 사용자 정의에서 "프로파일" 작업을 이 관점에 대해 활성화하여 작업 세트 가용성 탭을 앞으로 가져오고 프로파일 체크박스를 선택하십시오.

JProfiler 실행 파일의 위치를 포함한 여러 JProfiler 관련 설정은 eclipse의 창→환경 설정→JProfiler에서 조정할 수 있습니다.

VS Code 통합

VS Code 확장은 JProfiler로 프로파일링 활성화 작업을 추가합니다. 호출되면, 디버그 및 실행 작업은 Java 실행 구성을 위한 프로파일링을 시작합니다. JProfiler가 시작되고, 프로파일링 설정을 구성할 수 있는 세션 시작 대화 상자가 표시됩니다. 세션 시작 대화 상자가 확인되면 애플리케이션이 시작됩니다.

JProfiler로 프로파일링 비활성화 작업을 사용하면 실행 및 디버그 작업의 기본 동작이 복원됩니다. 프로파일링 모드의 변경 사항에 대한 알림은 VS Code의 편집기 하단 오른쪽 모서리에 토스트 메시지로 표시됩니다. JProfiler로 프로파일링 활성화JProfiler로 프로파일링 비활성화는 동일한 기본 키 바인딩을 가지므로 프로파일링 모드를 토글하는 데 사용할 수 있습니다.

이미 실행 중인 JVM을 프로파일링하려면 JProfiler로 실행 중인 JVM에 Attach 작업을 사용하십시오.

JProfiler의 소스 탐색 작업은 VS Code에서 해당 소스 코드를 표시합니다. JProfiler 스냅샷에 대한 VS Code로의 소스 탐색을 얻으려면 VS Code 내에서 파일→열기를 사용하여 스냅샷을 여십시오.

NetBeans 통합

NetBeans에서는 exec Maven 플러그인을 사용하는 표준, 자유 형식 및 Maven 프로젝트를 프로파일링할 수 있습니다. NetBeans에서 애플리케이션을 프로파일링하려면 실행 메뉴에서 프로파일링 명령 중 하나를 선택하거나 해당 도구 모음 버튼을 클릭하십시오. 애플리케이션을 다른 방식으로 시작하는 Maven 프로젝트와 Gradle 프로젝트의 경우, 프로젝트를 정상적으로 시작하고 메뉴에서 프로파일→JProfiler를 실행 중인 JVM에 Attach 작업을 사용하십시오.

자유 형식 프로젝트의 경우, 프로파일링을 시도하기 전에 애플리케이션을 한 번 디버그해야 합니다. 필요한 파일nbproject/ide-targets.xml은 디버그 작업에 의해 설정됩니다. JProfiler는 디버그 대상과 동일한 내용을 가진 "profile-jprofiler"라는 대상을 추가하고 필요한 경우 VM 매개변수를 수정하려고 시도합니다. 자유 형식 프로젝트를 프로파일링하는 데 문제가 있는 경우, 이 대상의 구현을 확인하십시오.

통합된 Tomcat 또는 NetBeans에 구성된 다른 Tomcat 서버로 웹 애플리케이션을 프로파일링할 수 있습니다. 메인 프로젝트가 웹 프로젝트인 경우, JProfiler로 메인 프로젝트 프로파일을 선택하면 프로파일링이 활성화된 상태로 Tomcat 서버가 시작됩니다.

번들된 GlassFish Server와 함께 NetBeans를 사용하고 메인 프로젝트가 GlassFish Server를 사용하도록 설정된 경우, JProfiler로 메인 프로젝트 프로파일을 선택하면 프로파일링이 활성화된 상태로 애플리케이션 서버가 시작됩니다.

JProfiler 실행 파일의 위치와 새로운 JProfiler 창을 여는 정책은 옵션 대화 상자의 기타→JProfiler에서 조정할 수 있습니다.