カスタム インストルメント
カスタム インストルメント
APMインサイトのエージェントではWebコンポーネントとフレームワークについて、設定済みクラスを、アプリケーションに組み込むことができます。APMインサイトは、クラスを選んでのカスタム インストルメントも可能です。カスタム インストルメントによって、アプリケーション内部のことが分かりやすくなり、アプリの特定機能やモジュールのパフォーマンス追跡が容易となります。
Javaエージェントは、2つの方法で、アプリケーションをカスタム インストルメントします。
設定手順
- テキスト エディターで、custom_instrumentation.confファイルを開きます。ファイルが見つからない場合は、apminsight.confのあるディレクトリに、新しく作成してください。
- クラス・パッケージを、次の構文のとおり、追加してください。
Fully qualified ClassName : methodNames separated by comma(,) : component_Name
- クラス・パッケージのエントリごとに、改行が必要です。
- methodNamesを指定しない場合、指定クラスの全メソッドがインストルメントされます。インストルメントするオーバーロード用メソッドを記載すれば、オーバーロードされるメソッドがすべてインストルメントされます。
- コンポーネントの命名には、a-zA-Z_0-9に該当する文字のみが利用可能です。component_Nameの指定がなかったり無効だったりすると、デフォルトではエージェントは、POJOとみなします(Plain Java Object)。
例:
a/b/c/CustomClass : methodA, methodB : ComponentA
a/b/c/CustomClass : methodC : ComponentB
a/b/c/CustomClass : : Component_A1
a/b/c/CustomClass : :
- パッケージが含む全クラスを組み込む場合は、パッケージ名を以下のように記述します。
package_name/.* : :
例:
a/b/c/.* : : Component_C
a/b/c/d/.* : :
- パッケージ自体の指定は推奨されません。エージェントから、全クラスの全メソッドがインストルメントされ、CPUとメモリに追加の負荷がかかります。また、後になって、多くのメソッドは利用中のアプリと無関係と判明することがほとんどのうえ、トレース実行も時間がかかります。ただし、パッケージ自体の指定は、コードの流れを調べる目的であれば、選択肢となりえます。
変更は稼働時には反映されません。アプリケーション サーバーを再起動すると、変更が有効になります。
Javaエージェントのバージョン3.0以上では、アプリケーション サーバーの再起動は不要です。