JProfiler 도움말

Ant 태스크

JProfiler가 제공하는 Ant 태스크는 Gradle 태스크와 매우 유사합니다. 이 챕터에서는 Gradle 태스크와의 차이점을 중점적으로 설명하고 각 Ant 태스크에 대한 예제를 보여줍니다.

모든 Ant 태스크는 bin/ant.jar 아카이브에 포함되어 있습니다. 태스크를 Ant에서 사용할 수 있도록 하려면 먼저 태스크 정의를 찾을 위치를 Ant에 알려주는 taskdef 요소를 삽입해야 합니다. 아래의 모든 예제에는 해당 taskdef가 포함되어 있습니다. 빌드 파일당 한 번만 나타나야 하며 project 요소 아래 레벨의 어디에나 위치할 수 있습니다.

ant.jar 아카이브를 Ant 배포판의 lib 폴더에 복사하는 것은 불가능하며, 태스크 정의에서 JProfiler의 전체 설치 경로를 참조해야 합니다.

Ant에서 프로파일링하기

com.jprofiler.ant.ProfileTask는 내장 Java 태스크에서 파생되었으며 해당 태스크의 모든 속성과 중첩 요소를 지원합니다. 추가 속성은 JavaProfile Gradle 태스크와 동일합니다. Ant 속성은 대소문자를 구분하지 않으며 일반적으로 소문자로 작성됩니다. 여러 값을 허용하는 속성의 경우 구분자로 : 또는 ,을 사용하십시오.

<taskdef name="profile"
         classname="com.jprofiler.ant.ProfileTask"
         classpath="<path to JProfiler installation>/bin/ant.jar"/>

<target name="profile">
  <profile classname="MyMainClass" offline="true"
           calltreemode="sampling" profile="com.mycorp.:org.example."
           snapshotfile="snapshots/run.jps" recording="cpu:allocation:jdbc"
           duration="10m">
    <classpath>
      <fileset dir="lib" includes="*.jar" />
    </classpath>
  </profile>
</target>

스냅샷에서 데이터 내보내기

com.jprofiler.ant.ExportTask를 사용하면 스냅샷에서 뷰를 내보낼 수 있으며, Export Gradle 태스크와 동일하게 동작합니다. 뷰는 Gradle 태스크와 다르게 지정됩니다: 태스크 요소 바로 아래에 중첩되며 옵션은 중첩된 option 요소로 지정됩니다.

<taskdef name="export"
         classname="com.jprofiler.ant.ExportTask"
         classpath="<path to JProfiler installation>/bin/ant.jar"/>

<target name="export">
  <export snapshotfile="snapshots/test.jps">
    <view name="CallTree" file="calltree.html"/>
    <view name="HotSpots" file="hotspots.html">
      <option name="expandbacktraces" value="true"/>
      <option name="aggregation" value="class"/>
    </view>
  </export>
</target>

스냅샷 비교하기

com.jprofiler.ant.CompareTaskCompare Gradle 태스크에 대응하며 두 개 이상의 스냅샷 간의 비교를 수행합니다. com.jprofiler.ant.ExportTask와 마찬가지로 비교 항목은 요소 바로 아래에 중첩되며 각 comparison 요소에 대해 옵션이 중첩됩니다. 스냅샷 파일은 중첩된 파일 집합으로 지정됩니다.

<taskdef name="compare"
         classname="com.jprofiler.ant.CompareTask"
         classpath="<path to JProfiler installation>/bin/ant.jar"/>

<target name="compare">
  <compare sortbytime="true">
    <fileset dir="snapshots">
      <include name="*.jps" />
    </fileset>
    <comparison name="TelemetryHeap" file="heap.html"/>
    <comparison name="TelemetryThreads" file="threads.html">
      <option name="measurements" value="inactive,active"/>
      <option name="valuetype" value="bookmark"/>
      <option name="bookmarkname" value="test"/>
    </comparison>
  </compare>
</target>

힙 스냅샷 분석하기

Analyze Gradle 태스크와 마찬가지로, Ant용 동등한 태스크인 com.jprofiler.ant.AnalyzeTask는 오프라인 프로파일링으로 저장된 스냅샷에서 힙 스냅샷 분석을 준비하여 GUI에서 더 빠르게 접근할 수 있도록 합니다. 처리할 스냅샷은 중첩된 파일 집합으로 지정됩니다.

<taskdef name="analyze"
         classname="com.jprofiler.ant.AnalyzeTask"
         classpath="<path to JProfiler installation>/bin/ant.jar"/>

<target name="analyze">
  <analyze>
    <fileset dir="snapshots" includes="*.jps" />
  </analyze>
</target>