ブログ

ej-technologies の製品ニュース、アップデート、および技術に関する知見。

RSS で読む。 メール で購読。 でフォロー。

JProfiler 16: エージェント型Javaアプリケーションのプロファイリング

2026-02-27
投稿者: Ingo Kegel

AIにプロファイリングが必要な理由

従来のプロファイリングは、メソッドの実行時間、メモリ割り当て、スレッド同期の問題といった、JVMの内部実行に焦点を当てています。JProfilerの過去における主要な革新の1つは、そのプローブに基盤を置いています。すなわち、HTTP、JDBC、RPC呼び出しなどの、より高レベルなシステムに対する計測です。LangChain4jやSpring AIのようなLLMフレームワークの登場により、新たなパフォーマンス上の課題が生まれました。LLMとのやり取りは、標準的なCPUプロファイリングでは文脈を捉えることのできない、高度に非決定的なレイテンシと多大なリソースコストをもたらします。AIとのやり取りを新しいプローブのデータソースとして扱うことにより、JProfilerはこのギャップを埋めるための独自の立ち位置を占めています。

AIプローブ: LLMワークフローのためのオブザーバビリティ

JProfiler 16の中心となるのは、新しいAIプローブです。これは、アプリケーションがLLMとどのようにやり取りしているかを観測するための手段であり、パフォーマンスとコストという2つの重要な課題を最適化するうえで役立つ、コンテキストを認識したメトリクスを提供します。

これまでプローブはイベントの所要時間のみに着目していましたが、JProfiler 16では切り替え可能な主要メトリクスを導入しました。AIプローブの場合、その主要メトリクスには入力トークンと出力トークンが含まれます。これにより、どのプロンプトがコストを押し上げたり、レイテンシの急増を引き起こしたりしているのかを特定できます。

プローブイベントビューでは、各プロンプトの内容全体を調べることができます。これは膨大な量のデータになる可能性があります。このリリースでは、これを機にJProfilerのイベントシステムを、デバッグ支援ツールという当初の役割から、ファイルベースの高性能データストアへと進化させました。これにより、AIプローブのようなイベント中心のビューが実現するとともに、既存の他のすべてのプローブにもメリットがもたらされます。

プローブを扱う際、イベントビューはコントロールセンターとして機能するようになりました。高度なフィルタリング機能により、複数の次元にわたってイベントの集合を絞り込み、下部のセカンダリビューを使ってホットスポット、コールツリー、分布ヒストグラム、タイムラインを調べることができます。

ブログの図ブログの図

スクリプティングとカスタムホットスポット

多くのプローブでは、そのホットスポットを調べることが最も有用な視点です。たとえば、JDBCプローブは、計測されたすべてのプリペアドステートメントの累積データを表示します。AIプローブの場合、複数の同時実行リクエストに対して「ホットスポット」の文字列をどのように抽出し、どのような名前を付けるかは、それほど自明ではありません。

デフォルトでは、JProfilerはモデル名を表示します。これは、特に複数のモデルを扱う場合には有効なホットスポットの視点ですが、他の多くのユースケースや問題シナリオには不十分です。

ここでもまた、JProfilerの充実したスクリプティングサポートが威力を発揮します。コード補完、インスペクション、クイックフィックス、リファクタリングを備えたモダンなJavaエディタで、LLMリクエストを分類する文字列を抽出するスクリプトを入力できます。必要なデータを抽出できるよう、JProfilerにはリクエストをモデル化するAPIが用意されています。

JProfilerはスクリプトをコンパイルし、プロファイリング対象のJVMに転送します。呼び出しが行われるたびにスクリプトが実行され、累積ホットスポットビューのデータが計算されます。

ブログの図ブログの図

実践的な探求: LLMデモ

エージェント型アプリケーションの開発を検討している開発者のために、このリリースにはデモアプリが含まれています。実際のアプリケーションがなくても、AIプローブの機能を試すことができます。

AIプローブのテーマに合わせて、このデモはarXivプレプリントサーバーから論文の要約をダウンロードし、そこからキーワードを抽出します。論文のバッチを処理した後、類似したキーワードを統合します。

このデモでは、HTTP ClientプローブをAIプローブと組み合わせて使用し、さまざまな処理段階でワークフローを調査する方法を確認することもできます。

ブログの図ブログの図

将来に向けた基盤

このリリースの3つの主要テーマは、AIのオブザーバビリティ、プローブイベントに対する大規模スケーラビリティ、そしてモダンなJVMに対する深いサポートです。

しかし、私たちはここで止まるつもりはありません。JProfiler 16において私たちの革新は加速しており、それは今後も続いていきます。今日、JProfilerは、決定論的なコードと確率的モデルとの間のやり取りを解釈するために必要な、生の可視性を提供しています。その裏側では、将来のバージョンに向けて、純粋な観測から自動化されたAI支援のパフォーマンスヒューリスティクスへと進むための基盤を築いています。ご期待ください!

アーカイブ