ブログ

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

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

JProfiler がヒープダンプを AI エージェントにとって有用なものにする

2026-11-04
投稿者: Ingo Kegel

JProfiler 16.3 では、MCP サーバーを通じて、JProfiler の主要なすべてのサブシステムを AI エージェントから利用できるようになりました。その中で最も有用な追加機能のひとつがヒープダンプ分析です。エージェントはヒープ内のオブジェクトを調べ、その参照をたどり、ガベージコレクションされなかった理由を突き止められるようになりました。

ランタイムデータがなければ、AI エージェントはどのオブジェクトが生存しているのか、何がそれらを到達可能な状態に保っているのかを知ることができません。JProfiler がそのギャップを埋めることで、エージェントは実際の証拠から分析を始め、それを手がかりに関連するソースコードを見つけられるようになります。

JProfiler MCPサーバーを弱いモデルに対して堅牢にする

2026-07-28
投稿者: Ingo Kegel

フラッグシップモデルは、すべてのコーディングタスクに理想的というわけではありません。この種のモデルは低速で、コストも非常に高くつきます。そのため、多くのタスク、特に雑務は、より機敏に動いてわずかなコストでタスクをこなす下位ティアのモデルの方が適しています。ただし、こうしたモデルのツール呼び出しの挙動は、最上位モデルのそれよりも不安定になりがちです。

JProfiler 16.1では、AIコーディングエージェントがJavaアプリケーションのプロファイリングとその結果の分析を行えるようにするためのMCPサーバーを追加しました。お客様からは多くの好意的なフィードバックをいただいており、今後のリリースでこの分野をさらに拡充していく予定です。

初回リリースでは、テストは主にClaude Codeを用いて行われていました。JProfiler 16.2では、MCPサーバーを他のAIモデルに対してはるかに堅牢なものにしました。他のモデルがどのような間違った動作をしたのか、そしてプロファイリングのワークフローをそれらの弱点に対してどのように堅牢化したのか、以下で解説します。

JProfiler MCPでjclasslibのパフォーマンスを2倍にした方法

2026-04-24
投稿者: Ingo Kegel

最近、私はオープンソースのJVMバイトコードビューアであるjclasslibのパフォーマンスを、Codexとプロファイリングエージェントを使って改善しました。特定の痛みの種があったからではなく、JProfiler 16.1に搭載された私たちのMCPサーバーを試してみたことがきっかけです。以下では、エージェントがクラスファイルの読み込みを2倍以上に高速化した経緯と、プロファイリングを開始する理由がもはや必要なくなった理由を解説します。

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のプロファイリング:LangChain4jとSpring AI

エージェント型アプリケーションには、プロファイリングならではの課題があります。標準的なCPU使用率にとどまらず、パフォーマンスとコストは、フレームワークの抽象化の背後に隠れたプロンプト、RAGリトリーバー、ツール呼び出しの複雑な構造によって決まります。

ベンダーロックインを避けるため、ほとんどの開発者はLangChain4jやSpring AIのようなフレームワークを利用しています。JProfilerのAIプローブは、こうしたフレームワークの内部を深く可視化します。

このスクリーンキャストでは、LangChain4jのカスタマーサポートエージェントをプロファイリングする手順を辿りながら、AIプローブがプロンプトの構成を可視化し、トークン消費の多い外れ値を切り分け、リソースコストを記録されたコールツリーに直接投影する様子を紹介します。

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

2026-02-27
投稿者: Ingo Kegel

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

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