カスタムインスツルメンテーション では、エージェントのデフォルトのモニタリングとビヘイビアを拡張して、追加の機能コールとアクティビティをターゲットにすることができます。これは、エージェントの設定ファイル、またはエージェントの API を通して行うことができます。
コンフィグファイルまたはAPIによるインストゥルメンテーション
カスタムインストルメントを追加するには、大きく分けて2つの方法があります。
- 単にクラスの追加の関数やメソッドに費やされた時間をトレースしたい場合は、エージェントの設定ファイルで関数やメソッドのリストを特定することができます。詳細については、 コンフィグファイルによるインスツルメンテーション を参照してください。
- より複雑なケースの場合、またはNew Relic UIでの関数の識別方法をカスタマイズしたい場合は、アプリケーションコードにAPI呼び出しを配置できます。詳細については、 APIを介したインストルメンテーションを参照してください。
いずれの場合も、これらのメカニズムは、指定された関数呼び出しのみを対象としています。再帰的ではなく、アノテーションされた関数以下の完全なプロファイリングを可能にするものでもありません。
その他の考慮事項
トレースしたい関数呼び出しを個別にアノテーションする必要があります。どの関数にアノテーションを付けるべきかわからない場合は、 スレッドプロファイリング の機能を使って絞り込むことができます。
注意
あまりにも多くのメトリクスを収集すると、アプリケーションとエージェントの両方のパフォーマンスに影響を与える可能性があります。潜在的なデータの問題を回避するために、カスタムインスツルメンテーションによって導入されるユニークなメトリクスの総数を2000以下に抑えるようにしてください。