JProfiler によって提供される Ant タスクは、Gradle タスクと非常に似ています。この章では、Gradle タスクとの違いを強調し、各 Ant タスクの例を示します。
すべての Ant タスクはアーカイブ bin/ant.jar に含まれています。
Ant にタスクを利用可能にするには、まず taskdef 要素を挿入して、Ant にタスク定義の場所を知らせる必要があります。以下のすべての例にはその taskdef
が含まれています。それはビルドファイルごとに一度だけ発生し、プロジェクト要素の下のレベルのどこにでも現れることができます。
ant.jar アーカイブを Ant ディストリビューションの lib フォルダにコピーすることはできません。タスク定義で JProfiler
の完全なインストールを参照する必要があります。
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>
スナップショットからのデータのエクスポート
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.CompareTask は Compare Gradle タスクに対応しており、2
つ以上のスナップショット間で比較を行います。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>