JProfiler 도움말Download

Ant Tasks


JProfiler에서 제공하는 Ant 태스크는 Gradle 태스크와 매우 유사합니다. 이 장에서는 Gradle 태스크와의 차이점을 강조하고 각 Ant 태스크에 대한 예제를 보여줍니다.

모든 Ant 태스크는 bin/ant.jar 아카이브에 포함되어 있습니다. Ant에서 태스크를 사용 가능하게 하려면 먼저 Ant에 태스크 정의를 찾을 수 있는 위치를 알려주는 taskdef 요소를 삽입해야 합니다. 아래의 모든 예제에는 해당 taskdef가 포함되어 있습니다. 이는 빌드 파일당 한 번만 발생해야 하며 프로젝트 요소 아래의 어느 위치에나 나타날 수 있습니다.

ant.jar 아카이브를 Ant 배포의 lib 폴더로 복사할 수 없으며, 태스크 정의에서 JProfiler의 전체 설치를 참조해야 합니다.

Profiling from Ant

com.jprofiler.ant.ProfileTask는 내장된 Java 태스크에서 파생되며 모든 속성과 중첩 요소를 지원합니다. 추가 속성은 ProfileJava 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" sessionid="80">
    <classpath>
      <fileset dir="lib" includes="*.jar" />
    </classpath>
  </profile>
</target>

Exporting data from snapshots

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>

Comparing snapshots

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>

Analyzing heap snapshots

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>