JProfiler 도움말

JProfiler의 스크립트

JProfiler의 내장 스크립트 에디터를 사용하면 커스텀 프로브 설정, 분할 메서드, 힙 워커(heap walker) 필터 등 JProfiler GUI의 다양한 위치에서 커스텀 로직을 입력할 수 있습니다.

편집 영역 상단의 상자에는 스크립트에서 사용할 수 있는 매개변수와 반환 타입이 표시됩니다. 메뉴에서 Help→Show Javadoc Overview를 실행하면 com.jprofiler.api.* 패키지의 클래스에 대한 자세한 정보를 확인할 수 있습니다.

완전한 클래스 이름(fully-qualified class names)을 지정하지 않고도 다음과 같은 여러 패키지를 사용할 수 있습니다:

  • java.util.*
  • java.io.*

완전한 클래스 이름을 사용하지 않으려면 텍스트 영역의 첫 줄에 여러 import 문을 추가할 수 있습니다.

모든 스크립트에는 스크립트의 연속 호출 간에 상태를 저장할 수 있는 com.jprofiler.api.agent.ScriptContext 인스턴스가 전달됩니다.

에디터의 모든 기능을 최대한 활용하려면 일반 설정에서 JDK를 구성하는 것이 좋습니다. 기본적으로는 JProfiler가 실행되는 JRE가 사용됩니다. 이 경우 코드 완성에서 JRE에 포함된 클래스의 매개변수 이름과 Javadoc이 제공되지 않습니다.

스크립트 유형

스크립트는 표현식일 수 있습니다. 표현식은 끝에 세미콜론이 없으며 필요한 반환 타입으로 평가됩니다. 예를 들어,

object.toString().contains("test")

와 같은 코드는 힙 워커의 나가는 참조(outgoing reference) 뷰에서 필터 스크립트로 동작합니다.

또는 스크립트가 여러 Java 문(statement)으로 구성될 수 있으며, 마지막 문으로 필요한 반환 타입의 return 문을 가질 수 있습니다:

import java.lang.management.ManagementFactory;
return ManagementFactory.getRuntimeMXBean().getUptime();

위 예제는 스크립트 텔레메트리에서 동작합니다. JProfiler는 표현식을 입력했는지 스크립트를 입력했는지 자동으로 감지합니다.

이전에 입력한 스크립트를 재사용하려면 스크립트 히스토리에서 선택할 수 있습니다.  Show History 툴바 버튼을 클릭하면 이전에 사용된 모든 스크립트가 표시됩니다. 스크립트는 스크립트 시그니처별로 구성되며, 기본적으로 현재 스크립트 시그니처가 선택됩니다.

코드 완성

CTRL-Space를 누르면 코드 완성 추천 팝업이 나타납니다. 또한 점(".")을 입력하고 다른 문자를 입력하지 않으면 일정 지연 시간 후에 이 팝업이 표시됩니다. 지연 시간은 에디터 설정에서 구성할 수 있습니다. 팝업이 표시되는 동안 계속 입력하거나 Backspace로 문자를 삭제할 수 있으며, 팝업은 이에 맞게 업데이트됩니다. "카멜험프(Camel-hump)" 완성이 지원됩니다. 예를 들어 NPE를 입력하고 CTRL-Space를 누르면 여러 클래스 중에서 java.lang.NullPointerException이 제안됩니다. 자동으로 import되지 않는 클래스를 선택하면 완전한 클래스 이름이 삽입됩니다.

자동 완성 팝업에서 제안할 수 있는 항목은 다음과 같습니다:

  • 변수 및 스크립트 매개변수. 스크립트 매개변수는 굵은 글꼴로 표시됩니다.
  • import 문을 입력할 때의 패키지
  • 클래스
  • 컨텍스트가 클래스일 때의 필드
  • 컨텍스트가 클래스이거나 메서드의 매개변수 목록일 때의 메서드

구성된 세션 클래스패스나 구성된 JDK에 포함되지 않은 클래스를 가진 매개변수는 [unresolved]로 표시되며 일반 java.lang.Object 타입으로 변경됩니다. 이러한 매개변수에서 메서드를 호출하고 코드 완성을 사용하려면 애플리케이션 설정의 클래스패스에 누락된 JAR 파일을 추가하십시오.

문제 분석

입력한 코드는 실시간으로 분석되어 오류 및 경고 상태가 검사됩니다. 오류는 에디터에서 빨간색 밑줄로 표시되고 오른쪽 거터에 빨간색 줄무늬로 표시됩니다. 사용되지 않는 변수 선언과 같은 경고는 에디터에서 노란색 배경으로 표시되고 거터에 노란색 줄무늬로 표시됩니다. 에디터의 오류나 경고 위에 마우스를 올리거나 거터 영역의 줄무늬 위에 마우스를 올리면 오류 또는 경고 메시지가 표시됩니다.

오른쪽 거터 상단의 상태 표시기는 코드에 경고나 오류가 없으면 녹색, 경고가 있으면 노란색, 오류가 발견되면 빨간색으로 표시됩니다. 에디터 설정에서 문제 분석의 임계값을 구성할 수 있습니다.

에디터 설정에서 오류 분석을 비활성화하지 않은 경우 대화상자 오른쪽 상단의 거터 아이콘이 녹색이면 스크립트가 컴파일됩니다. 특정 상황에서는 실제 컴파일을 테스트해보고 싶을 수 있습니다. 메뉴에서 Code→Test Compile을 선택하면 스크립트를 컴파일하고 별도의 대화상자에 오류를 표시합니다. OK 버튼으로 스크립트를 저장하면 스크립트가 즉시 사용되지 않는 한 구문적 정확성을 검사하지 않습니다.

키 바인딩

구성된 키맵의 "Show Javadoc" 단축키(기본 IntelliJ 키맵의 경우 Ctrl+Q)를 누르면 커서 위치의 요소를 설명하는 Javadoc 페이지의 브라우저가 열립니다. Java 런타임 라이브러리의 Javadoc은 일반 설정의 코드 에디터에 유효한 Javadoc 위치가 있는 JDK가 구성된 경우에만 표시될 수 있습니다.

Java 코드 에디터의 모든 키 바인딩은 구성 가능합니다. 창 메뉴에서 Settings→Keymap을 선택하여 키맵 에디터를 표시하십시오. 키 바인딩은 $HOME/.jprofiler16/keymaps.xml 파일에 저장됩니다. 이 파일은 기본 키맵이 복사된 경우에만 존재합니다. JProfiler 설치 환경을 다른 컴퓨터로 이전할 때 이 파일을 복사하여 키 바인딩을 유지할 수 있습니다.