ブログ

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

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

JProfiler 16.1: AIエージェントがJavaアプリケーションをプロファイリングできるようになりました

2026-04-09
投稿者: Ingo Kegel

JProfiler 1.0以来、プロファイリングは開発者がGUIで行う作業でした。セッションを開始し、ビューを操作し、データを解釈します。実際には、パフォーマンス分析が行われるのは、コンテキストの切り替えに見合うほど問題が深刻な場合だけでした。その結果、多くの問題は一度もプロファイリングされないまま本番環境にリリースされていました。

JProfiler 16.1では、プロファイリングの仕組みを変えます。AIコーディングエージェントが、Javaアプリケーションのプロファイリング、結果の分析、そしてそれに基づく対処を行えるようになるのです。これは、私たちが開発を始めて以来、開発者によるプロファイリングの使い方における最大の変化です。

新しいJProfiler MCPサーバーは、@ej-technologies/jprofiler-mcp npmパッケージとして提供され、Model Context Protocolを通じてJProfilerのプロファイリング機能とヒープ分析機能を公開します。Claude Code、Cursor、Codex、Gemini CLI、およびその他のMCP互換のAIコーディングツールで利用できます。

課題:AIエージェントは実行時の動作を見ることができない

AIコーディングエージェントは、コードの読解、実装の生成、テストの実行に優れています。しかし、実行時に何が起きているかは見ることができません。パフォーマンス問題の修正をエージェントに依頼しても、エージェントはコードのパターンに基づいて推測することしかできません。どのメソッドが実際に遅いのか、どのデータベースクエリが実行時間の大半を占めているのか、どこでメモリが消費されているのかは、エージェントには見えません。

JProfiler 16.1は、プロファイリングデータをMCP経由で公開することでこのギャップを埋め、これまで人間の開発者に提供してきたのと同じパフォーマンスの可視性をAIエージェントに与えます。

JProfiler MCPサーバーによるプロファイリングのシナリオ

ホットスポットから根本原因へ

エージェントはこの一連のサイクルを完結できます。エージェントはアプリケーションをプロファイリングし、JDBCクエリが実行時間の大半を占めていることを発見し、原因となっている具体的なクエリを特定します。その後、冗長なデータベース呼び出しを排除するためにコードを修正し、改善を検証するために再プロファイリングを行い、具体的な数値によるビフォーアフターの比較を提示します。診断から検証済みの修正まで、開発者がJProfilerのGUIを開くことなく、完全なパフォーマンスエンジニアリングのサイクルが実現します。

エージェントは推測ではなく、実際の実行時データに基づいて作業します。さらに、スナップショットを比較できるため、修正が実際に機能したことを証明できます。

最適化前後のJDBCホットスポットを比較するエージェント最適化前後のJDBCホットスポットを比較するエージェント

エージェントが確実に従うガイド付きワークフロー

エージェントが正しく使えるMCPサーバーを構築するのは、見かけ以上に難しい作業です。私たちは、エージェントが専門家によるJProfilerの使い方を反映したプロファイリングワークフローに確実に従うよう、ツールを入念に設計し、テストしました。エージェントはまず、対象アプリケーションのプロファイリングをセットアップします。テスト実行が完了すると、データが利用可能かどうかを確認します。次に、時間がどこで消費されているかを把握するため、最初の集約ホットスポットビューを取得します。そこから、コールチェーンをたどって根本原因まで、個々のホットスポットを掘り下げていきます。各ステップが自然に次のステップへと導きます。

各ステップのデータは入念にフィルタリングされているため、CPUホットスポット、JDBCおよびJPAクエリ、HTTP呼び出し、MongoDB操作、ヒープダンプのいずれを分析している場合でも、エージェントは圧倒されることなく重要な情報だけを見ることができます。ローカルJVMやコンテナ化されたJVMのライブプロファイリングに加えて、エージェントは既存のJProfiler、HPROF、またはJFRスナップショットを読み込んで分析することもできます。

Claude CodeにおけるMCPプロファイリングワークフローClaude CodeにおけるMCPプロファイリングワークフロー

はじめに

セットアップの手間はゼロです。MCPサーバーは初回使用時にJProfilerバイナリを自動的にインストールし、MCPプロトコルを通じてライセンスを処理します。Claude Codeでは、たった1つのコマンドを実行するだけです:

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

MCPセットアップページには、Codex、Gemini CLI、Junie、およびその他のMCP互換ツールの手順が記載されています。

パフォーマンス問題は、これまで常に開発者に作業の流れを中断し、ツールを切り替え、コンテキストをゼロから構築することを求めてきました。JProfiler 16.1では、AIエージェントがこれを代わりに行います。問題を説明したのと同じ会話の中で、プロファイリング、診断、修正、検証までを行います。実際のプロファイリングセッションの詳細なウォークスルーは、今後の記事で公開する予定です。

アーカイブ