カスタム インストルメンテーション

APMインサイト エージェントは、Webコンポーネントやフレームワークについての事前設定クラスを組み込み、アプリケーションの状況を把握できます。APMインサイトではカスタム インストルメンテーションも可能で、ご希望のクラスも利用できます。これによって、アプリケーションの内部を幅広く理解し、アプリにある特定機能や特定モジュールのパフォーマンスを、容易に追跡可能となります。

Javaエージェントでは、お客さまアプリケーションのカスタムインストルメンテーションを以下の方法でサポートしています。

設定ファイルを利用する

  1. お客さま希望のクラスをインストルメントするには、下記のフォーマットで、クラス名を「custom_instrumentation.conf(バージョン4.9未満)」か「instrumentation.conf(それ以上)」に記載してください。

    Fully qualified ClassName : methodNames separated by comma(,) : component_Name

  2. クラスやパッケージはそれぞれ、行替え区切りで入力します。

  3. 複数メソッドを指定するには、カンマ(,)区切りにしてください。

  4. メソッド名を指定しない場合は、指定クラスにあるすべてのメソッドを組み込みます。この場合、組み込むべきオーバーロード用メソッドがあれば、オーバーロードされるメソッドもインストルメントされます。クラスは改行区切りで1つずつ指定してください。

  5. コンポーネントの名付けには、英数字とアンダースコアのみを利用可能です(a-zA-Z_0-9)。コンポーネント名が未指定や無効の場合、エージェントはデフォルトで、アプリコードと見なします。

    例:

    a/b/c/CustomClass : methodA, methodB : ComponentA
    a/b/c/CustomClass : methodC : ComponentB
    a/b/c/CustomClass : : Component_A1
    a/b/c/CustomClass : :

  6. パッケージにあるクラスすべてを組み込む場合は、下記の通り、パッケージ名を指定できます。

    package_name/.* :

    例:

    a/b/c/.* : : Component_C
    a/b/c/d/.* : :

  7. パッケージ全体の指定は推奨しません。パッケージにある全クラスの全メソッドを組み込むこととなり、CPUやメモリに余分な負荷がかかります。多くのメソッドはパフォーマンス監視と関係が薄く、トレースが余分に長くなります。ただし、コードの流れを把握するのが目的であれば、パッケージ全体の指定も可能です。
メモ 変更を有効にするには、アプリケーション サーバーの再起動が必要です。