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へのアタッチをサポートします。

ライブプロファイリングセッションでは、プロファイルされたアプリケーションをIDEのために実行またはデバッグするのと同様に開始します。JProfilerプラグインはプロファイリングのためのVMパラメータを挿入し、JProfilerウィンドウを接続します。JProfilerは別プロセスとして実行され、必要に応じてプラグインによって開始されます。JProfilerからのソースコードナビゲーションリクエストはIDEの関連プロジェクトに送信されます。JProfilerとIDEプラグインは、タスクバーのエントリが点滅せず、単一プロセスを扱っているかのようにウィンドウ切り替えをシームレスに行うために協力します。

セッションを開始するとき、「セッションスタートアップ」ダイアログでプロファイリング設定をすべて構成できます。起動されたセッションに使用される構成済みのプロファイリング設定は、IDE統合に応じてプロジェクトごとまたは実行構成ごとにJProfilerによって記憶されます。セッションが初めてプロファイルされるとき、IDEプラグインはソースファイルのパッケージ階層の最上位クラスに基づいてプロファイルされたパッケージのリストを自動的に決定します。後の任意の時点で、セッション設定ダイアログのフィルター設定ステップに移動し、リセットボタンを使用してこの計算を再度実行できます。

スナップショットの場合、IDE統合はIDE内からスナップショットファイルをファイル→開くアクションで開くか、プロジェクトウィンドウでダブルクリックすることで設定されます。JProfilerからのソースコードナビゲーションは現在のプロジェクトに向けられます。最後に、IDEプラグインはIDEにJVMにアタッチアクションを追加し、実行中のJVMを選択してIDEにソースコードナビゲーションを取得できます。これはスナップショットのメカニズムと似ています。

時には特定のクラスやメソッドを考慮せずにIDEに切り替えたいことがあります。そのために、JProfilerウィンドウのツールバーにはIDE統合によって開かれたプロファイリングセッションに対してIDEをアクティブ化ボタンが表示されます。このアクションはF11キーにバインドされており、IDEでのJProfilerアクティベーションアクションと同様に、同じキーのバインディングでIDEとJProfilerの間を行き来できます。

IntelliJ IDEA統合

IntelliJ IDEAからアプリケーションをプロファイルするには、実行メニューのプロファイリングコマンドのいずれかを選択するか、メインツールバーの実行またはデバッグアクションの横にあるドロップダウンメニューをクリックして「JProfilerでプロファイル」アクションを選択します。JProfilerはアプリケーションサーバーを含むほとんどの実行IDEA構成タイプをプロファイルできます。

JProfilerプラグインは、すぐには見えない実行構成に追加の設定を追加します。これらの設定にアクセスするには、「オプションを変更」ドロップダウンで「プロファイル」オプションを選択します。他のすべてのプロファイリング設定は、JProfilerウィンドウのスタートアップダイアログで構成できます。

プロファイリングセッションが開始されると、出力は別のJProfilerツールウィンドウに表示されます。そのツールウィンドウは、通常の実行ツールウィンドウのようにコンソール出力を表示し、JProfiler UIに接続した後に使用できる「JProfiler」タブを含みます:

JProfilerツールウィンドウは、IntelliJ IDEAでJProfilerスナップショットを開いたときや、「JProfilerでJVMにアタッチ」アクションで実行中のJVMにアタッチしたときにも表示されます。

「JProfiler」タブには、CPUデータ、割り当てデータ、プローブイベントのデータ記録を開始および停止するアクションが含まれています。さらに、JProfilerウィンドウに切り替えるアクションもあります。JProfilerウィンドウには、IDEAウィンドウに戻るための同様のアクションが含まれており、2つの別々のウィンドウで作業するのが便利になります。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にアタッチ」アクションのためのツールバークイックアクションを提供し、メインツールバーに追加できます。そのアクションを使用すると、すでに実行中のプロセスにアタッチし、JProfiler UIからIntelliJ IDEAへのソースコードナビゲーションを取得し、ソースコードエディタ内にインラインCPUグラフデータを取得できます:

アクションボタンを追加すると、このように見えます:

JProfilerのすべてのアクションのキーのバインディングは、IntelliJ IDEAの「キーマップ」設定でカスタマイズできます。競合しないキーボードショートカットの限られた利用可能性を考慮すると、ソースコードエディタからJProfiler UIへのナビゲーションアクションは、最初にCtrl-Alt-Shift-Oを押してから、ナビゲーションアクションを選択するための別のキーを押すチェーンショートカットです。この機能を頻繁に使用する場合は、より簡単なキーボードショートカットを割り当てることを検討してください。

IDE設定のツール->JProfilerページで、使用するJProfiler実行可能ファイルと、新しいプロファイリングセッションのために常に新しいウィンドウをJProfilerで開くかどうかを調整できます。

eclipse統合

eclipseプラグインは、テスト実行構成やWTP実行構成を含む、最も一般的な起動構成タイプをプロファイルできます。eclipseプラグインは、eclipseフレームワークの部分的なインストールではなく、完全なeclipse SDKでのみ動作します。

eclipseからアプリケーションをプロファイルするには、実行メニューのプロファイリングコマンドのいずれかを選択するか、対応するツールバーボタンをクリックします。プロファイルコマンドは、eclipseのデバッグおよび実行コマンドと同等であり、eclipseのインフラストラクチャの一部ですが、実行→JProfilerをJVMにアタッチメニュー項目はJProfilerプラグインによって追加されます。

Javaパースペクティブに実行→プロファイル...メニュー項目が存在しない場合は、ウィンドウ→パースペクティブ→パースペクティブのカスタマイズでこのパースペクティブの「プロファイル」アクションを有効にし、アクションセットの可用性タブを前面に持ってきて、プロファイルチェックボックスを選択します。

JProfiler関連の設定のいくつかは、eclipseのウィンドウ→設定→JProfilerで調整できます。

VS Code統合

VS Code拡張機能は、JProfilerでプロファイリングを有効にするアクションを追加します。呼び出されると、デバッグおよび実行アクションはJava起動構成のプロファイリングを開始します。JProfilerが開始され、プロファイリング設定を構成できるセッションスタートアップダイアログが表示されます。セッションスタートアップダイアログが確認されると、アプリケーションが開始されます。

JProfilerでプロファイリングを無効にするアクションを使用すると、実行およびデバッグアクションのデフォルトの動作が復元されます。プロファイリングモードの変更に関する通知は、エディタの右下隅にトーストメッセージとしてVS Codeに表示されます。JProfilerでプロファイリングを有効にするJProfilerでプロファイリングを無効にするは同じデフォルトのキーのバインディングを持っているため、プロファイリングモードを切り替えるために使用できます。

すでに実行中のJVMをプロファイルするには、JProfilerで実行中のJVMにアタッチアクションを使用します。

JProfilerのソースナビゲーションアクションは、対応するソースコードをVS Codeに表示します。JProfilerスナップショットのためにVS Codeにソースナビゲーションを取得するには、VS Code内からファイル→開くでスナップショットを開きます。

NetBeans統合

NetBeansでは、標準、フリーフォーム、およびexec Mavenプラグインを使用するMavenプロジェクトをプロファイルできます。NetBeansからアプリケーションをプロファイルするには、実行メニューのプロファイリングコマンドのいずれかを選択するか、対応するツールバーボタンをクリックします。別の方法でアプリケーションを開始するMavenプロジェクトやGradleプロジェクトの場合は、プロジェクトを通常どおり開始し、メニューのプロファイル→JProfilerを実行中のJVMにアタッチアクションを使用します。

フリーフォームプロジェクトの場合、プロファイルを試みる前に一度アプリケーションをデバッグする必要があります。必要なファイルnbproject/ide-targets.xmlはデバッグアクションによって設定されます。JProfilerはそれに「profile-jprofiler」という名前のターゲットを追加し、デバッグターゲットと同じ内容で、必要に応じてVMパラメータを変更しようとします。フリーフォームプロジェクトのプロファイリングに問題がある場合は、このターゲットの実装を確認してください。

統合されたTomcatまたはNetBeansで設定された他のTomcatサーバーでWebアプリケーションをプロファイルできます。メインプロジェクトがWebプロジェクトの場合、JProfilerでメインプロジェクトをプロファイルを選択すると、プロファイリングが有効になったTomcatサーバーが開始されます。

バンドルされたGlassFishサーバーを使用してNetBeansを使用している場合、メインプロジェクトがGlassFishサーバーを使用するように設定されている場合、JProfilerでメインプロジェクトをプロファイルを選択すると、プロファイリングが有効になったアプリケーションサーバーが開始されます。

JProfiler実行可能ファイルの場所と新しいJProfilerウィンドウを開くポリシーは、オプションダイアログのその他→JProfilerで調整できます。