このセクションの例では、メソッド タイミングをアプリケーションに実装して役立つ情報を得るための方法を説明します。
次のセクション ("メソッド タイミングのプロパティ") で説明するように、global.properties
ファイルは、メソッド タイミングを設定する多くのプロパティの既定値を定義します。これらの値は、local.properties
ファイルのプロパティを定義し直すことによって変更できます。
この例では、メソッド タイミングを有効にし、global.properties
ファイルで定義されたプロパティの既定値を受け入れたときに、メソッド タイミングがサンプル アプリケーションでどのように機能するかを説明しています。
メソッド タイミングを計測するには、次のステートメントを追加することによって、サンプル アプリケーションが存在するサーバー上の local.properties
ファイルを編集します。
## メソッド タイミングのセクション
timing.enabled=true
結果は、次の一覧のとおりです。この一覧を読む以外に、global.properties
ファイルに定義されているメソッド タイミングのプロパティを参照することもできます。これらのプロパティについては、"global.properties ファイルで定義されたプロパティ"で説明します。
HttpServlet
の直接サブクラスで定義されたすべてのメソッドは、タイミングが計測されます。HttpServlet
の直接サブクラスのサブクラスでは、タイミングを計測できません。javax.servlet.http
のメソッドへの呼び出しを含む、HttpServlet
の直接サブクラスで定義されたメソッド内で呼び出されたすべてのメソッドに対してタイミングが計測されます。SnoopServlet
クラスが定義されると、そのクラスのすべてのメソッドに対してタイミングが計測されます。また、除外されたライブラリへの呼び出しを除き、javax.servlet.http.*
のメソッドへの呼び出しを含む、これらのメソッド内のすべてのメソッド呼び出しに対してタイミングが計測されます。前述のとおり、アプリケーションにおけるパフォーマンスのボトルネックを見つける適切な戦略は、アプリケーションを 2 度実行することです。まず、現在のメソッド タイミングを使用して、アプリケーションによって使用されるすべてのメソッドの統計を得ます。次に、実行時間の大部分を占めるメソッドの一覧を使用して、もう 1 度アプリケーションを実行します。2 度目は、最初のパスの実行時にメソッド タイミングによって呼び出されたメソッドの統計を提供するプロパティを定義します。この 2 番目のパスは、呼び出されたメソッド タイミングを使用します。