JProfilerとは?
JProfilerは、実行中のJVM内部で何が起きているかを分析するためのプロフェッショナルツールです。開発時、品質保証、そして本番システムに問題が発生した際の緊急対応ミッションに活用できます。
JProfilerが扱う主なトピックは4つあります:
-
メソッドコール
これは一般的に「CPUプロファイリング」と呼ばれます。メソッドコールはさまざまな方法で計測・可視化できます。 メソッドコールの分析により、アプリケーションが何をしているかを理解し、パフォーマンスを改善する方法を見つけることができます。 -
割り当て
ヒープ上のオブジェクトを割り当て、参照チェーン、ガベージコレクションの観点から分析することは「メモリプロファイリング」のカテゴリに属します。この機能により、メモリリークの修正、全体的なメモリ使用量の削減、一時オブジェクトの割り当て削減が可能になります。 -
スレッドとロック
スレッドはロックを保持できます。例えば、オブジェクトに対して同期化することによってです。複数のスレッドが協調動作する場合、デッドロックが発生することがあり、JProfilerはそれを可視化できます。また、ロックが競合状態になることもあり、スレッドがロックを取得する前に待機しなければならない場合があります。JProfilerはスレッドとそのさまざまなロック状況に関する洞察を提供します。 -
上位レベルのサブシステム
多くのパフォーマンス問題は、より高いセマンティックレベルで発生します。例えば、JDBCコールでは、どのSQL文が最も遅いかを調べたいことがあります。そのようなサブシステムに対して、JProfilerは呼び出しツリーに特定のペイロードをattachするプローブを提供します。
JProfilerのUIはデスクトップアプリケーションとして提供されます。ライブJVMをインタラクティブにプロファイルしたり、UIを使用せずに自動的にプロファイルしたりできます。プロファイリングデータはスナップショットとして保存され、JProfiler UIで開くことができます。さらに、コマンドラインツールやビルドツールとの統合により、プロファイリングセッションの自動化を支援します。JProfilerはまた、AIエージェントがJProfilerのプロファイリングおよび分析機能を利用できるMCPサーバーも提供しています。
次に何をすればよいですか?
このドキュメントは順番に読むことを想定しており、後のヘルプトピックは前のトピックの内容を前提としています。
まず、アーキテクチャの技術的な概要を読むことで、プロファイリングの仕組みを理解するのに役立ちます。
JProfilerのインストールとJVMのプロファイリングに関するヘルプトピックで、すぐに使い始めることができます。
続いて、データ記録とスナップショットの説明により、JProfilerを自分で探索できるレベルの理解に到達できます。
その後の章では、JProfilerのさまざまな機能に関する専門知識を深めます。最後のセクションはオプションの読み物であり、特定の機能が必要な場合に参照してください。
皆様のフィードバックをお待ちしております。特定の領域でドキュメントが不足していると感じた場合や、ドキュメントに不正確な点を見つけた場合は、遠慮なく[email protected]までご連絡ください。
キーボードを使って章を移動できます。k キーで次へ、j キーで前へ戻ります。