人間向けAI エージェント向け

JProfiler – No.1のJavaプロファイラー
AIエージェントのためにClaude Code向けCodex向けCursor向けOpenCode向けAIエージェントのために

あなたのAIエージェントはコードを読むことができます。JProfilerなら、その実行の様子まで見ることができます。

PowerShellで次のコマンドを実行します:

irm https://www.ej-technologies.com/jprofiler/mcp/install.ps1 | iex

ターミナルで次のコマンドを実行します:

curl -fsSL https://www.ej-technologies.com/jprofiler/mcp/install.sh | sh

Node.jsのインストールが必要です。使用するエージェントを選択し、以下の手順に従ってください。

Claude Codeで次のコマンドを実行します:

claude mcp add jprofiler -- npx -y @ej-technologies/jprofiler-mcp@latest

JProfilerをすでにインストールしている場合は、UIから直接統合を設定できます。

JProfilerを開き、セッション → AIエージェント統合に移動して使用するエージェントを選択すると、JProfilerが自動的に設定を行います。

背景アートワーク
背景アートワーク
背景アートワーク
背景アートワーク

エージェントがJProfilerでできること

ランタイムデータがなければ、エージェントはソースコードからパフォーマンスの問題を推測することしかできません。JProfilerがあれば、時間とメモリが実際にどこで費やされているかを測定し、修正が機能したことを検証できます。

本当のホットスポットを突き止める

ソースコードのレビューでは、誤ったメソッドに行き着くことがよくあります。サンプリングによるCPUデータ、コールツリー、バックトレースが、時間が実際にどこで費やされているかをエージェントに示します。

GUIなしでヒープダンプを解析

エージェントはEclipse MATやプロファイラのUIを開けません。JProfilerのヒープ解析は、HPROFダンプを対象とした照会可能なビューを提供します。最大オブジェクト、保持サイズ、GCルートへのパス、インスタンス数を確認できます。

ソースレビューでは見つからないJDBCとJPAのパターンを検出

コード上では無害に見えるクエリも、リフレッシュサイクルごとに580回実行されれば問題になり得ます。データベースプローブによる呼び出し回数と集計済みの実行データから、エントリごとの個別クエリ、N+1パターン、冗長なチェックが見えてきます。

時々遅くなる呼び出しを捉える

平均では高速でも、100回に1回だけ遅くなる呼び出しがあります。外れ値検出は、最大値が平均から大きく乖離したメソッドを特定し、例外的実行のレコーディングにより、最も遅い呼び出しを個別に展開できる状態で保持します。そのためエージェントは、合成された平均ではなく、単一の遅い実行を解析できます。

曲線あてはめでアルゴリズムの計算量を証明

このメソッドはペイロードサイズに対してO(n²)なのか?エージェントは、ソースコードからビッグオーを巡って議論する代わりに、実測の(入力サイズ、時間)データ点と曲線あてはめを受け取り、測定に基づいて判定できます。

エージェントに独自のプローブを記述させる

組み込みプローブで問題をカバーできない場合、エージェントはスクリプトプローブを定義します。これはメソッド呼び出しごとに計算され、実行中のJVMにプッシュされる軽量なインストゥルメンテーションであり、アプリケーションのコード、ビルド、デプロイを一切変更する必要がありません。

…その他にも多くの機能

LLM と AI 呼び出しのコストを測定

エージェント型アプリケーション向けのコンテキスト対応メトリクス:LLM 呼び出しのレイテンシ、トークン使用量、AI プローブイベントが、エージェントによるコストの最小化とモデルパフォーマンスの最適化を支援します。

修正の効果を証明

修正前と修正後のプロファイリング実行およびスナップショット比較により、エージェントが測定、修正の適用、結果の検証までを行います。

デッドロックとロック競合の診断

モニタ統計、競合のタイムライン、スタックトレース付きのロック履歴、ロック順序の反転を示すグラフに加え、稼働中の JVM からのモニタダンプによりデッドロックを分析できます。

Docker や Kubernetes 上の JVM をプロファイリング

コンテナ化された JVM は、エージェントを手動でセットアップすることなく直接選択できます。コンテナ内からのヒープダンプや CPU データも、追加設定なしで利用できます。

本番環境の JFR 記録を分析

稼働中のシステムから取得した低オーバーヘッドの JFR スナップショットを、JProfiler の全機能を活かして分析します。事後調査に最適です。

オンデマンドでヒープダンプ、スレッドダンプ、モニタダンプを取得

仮想スレッドの階層構造を含め、稼働中の JVM に対してポイントインタイムの操作を実行できます。MBean スナップショットや記録の制御もライブアクションとして利用できます。

アロケーションのホットスポットを特定

スタックトレース付きのアロケーション記録でメモリ負荷の発生源を特定でき、ヒープダンプにはオブジェクトごとのアロケーションサイトが含まれています。

GC 一時停止の分析

個々のガベージコレクションについて、原因、停止時間、各フェーズ、コレクション前後のヒープ使用量を確認でき、GC の完全な設定も取得できます。

トリガーによる一時的な状態の取得

ヒープの急増などの一時的な状態を自動的に記録します。条件がトリガーされると、スレッドダンプ、ヒープダンプ、MBean スナップショットが取得されます。