あなたが探しているのはプロファイリングです:
ソフトウェアエンジニアリングでは、プロファイリング(「プログラムプロファイリング」、「ソフトウェアプロファイリング」)は、たとえばプログラムのスペース(メモリ)または時間の複雑さ、特定の命令の使用、または頻度を測定する動的プログラム分析の形式です。関数呼び出しの期間。プロファイリング情報の最も一般的な使用法は、プログラムの最適化を支援することです。
そのようなアプリケーションがいくつかあります。時には、これらはIDE自体に組み込まれます。netbeans ideは、プロファイラーが組み込まれたツールの1つです。
もう1つのこのようなツールはvisual vmです。
プロファイラーはさまざまな方法で動作できます-違いに注意する必要があります。1つのアプローチは、実行中のスレッドのスナップショットを取得して、各スレッドで現在呼び出されているメソッドを確認することです。これは、そこにあるもののサンプリングを使用します。
もう1つのアプローチは、Javaバイトコードを計測して、開始時間と停止時間を別のアプリケーションに報告することです。
プロファイラを書くことは、熟練したJavaにとってそれほど難しくありません。IBMには、独自のプロファイラー(ソースコード付き)の作成に関する記事があります。これはJava Interactive Profilerに基づいています。
無料と商用の両方のプロファイラーがあります(特定のメソッドが予想されるランタイムを超えたときにプロファイラーがレポート(メールまたはその他の通知)を実行できるJVMインスタンスにフックする方法はありますか? Webリクエストに時間がかかりすぎたときにレポートを返すプログラム-そのリクエストの履歴プロファイルは後で検査するために保存されていますか?)それらを見つけてそこから進むには、あなたが探しているものを知る必要があります。
プロファイラーを取得したら、プロファイリング結果の解釈に進みます。