Java用APMは通常、有用なパフォーマンスデータを自動生成します。New Relicがお使いのフレームワークをサポートしない場合、あるいはモニターを追加で設定したい場合は、カスタムインストゥルメンテーションを実装することをお勧めします。
カスタムインストゥルメンテーションを使用すると、New Relicの自動インストゥルメンテーションによってキャプチャされないインタラクションを追跡し、トランザクショントレースに詳細を追加して、主要な問題の識別に役立てることができます。
New Relicは多くのフレームワークから自動的にメトリクスやイベントを収集します。サポート対象のフレームワークまたはコンポーネントを使用している場合は、すぐに使用できるトランザクション情報が表示されることがあり、エージェントがデフォルトでレポートする情報を補足するためにカスタムインストゥルメンテーションを使用できます。
重要
サポートされているフレームワークを使っているがトランザクションが見当たらない場合、フレームワークインストゥルメンテーションが機能しているか確認するためsupport.newrelic.comでサポートで受けてください。
どのようなときにカスタムインストゥルメンテーションを選択するか
以下の状況のときにカスタムインストゥルメンテーションを使用します。
- New Relicが使っているフレームワークをサポートせず、UIにトランザクションが表示されない
- 詳細をトランザクショントレースに追加したい
- トランザクショントレースに詳細が不十分な
application code
時間の大型ブロックが含まれている
カスタムインストゥルメンテーションを実施する
カスタムインストゥルメンテーションは次のいずれかのメソッドで実施できます。
Method | Description |
---|---|
New Relic UI | Java用New Relicにはカスタムインストゥルメンテーションエディタと呼ばれるカスタムインストゥルメンテーションのUIのオプションを含みます。このオプションはアプリケーションコードを直接変更する必要はないので、コードを変更したくない場合、あるいは変更できない場合に最適です。ただし、エディタはJavaエージェントAPIと比較して、機能的にかなり限りがあります。 |
APIアノテーション | New Relic JavaエージェントAPIを使用して、監視するアプリケーションコードのメソッドに注釈をつけることができます。アノテーションメソッドは、トラブルシューティングする上で確実で簡単なメソッドです。アノテーションは、ソースコードを変更したい場合に推奨されるメソッドです。インストゥルメントするメソッドが多くある場合には、XMLインストゥルメンテーションを使用するのが適している場合があります。 APIやその他の関数については、JavaエージェントAPIの入門をご覧ください。 |
XML | コードを変更できない場合や、インストゥルメントする必要があるメソッドが多くある場合に最適なカスタムインストゥルメンテーションメソッドは、XMLインストゥルメンテーションです。このメソッドを使って、外部XMLファイルでインストゥルメントしたいクラスを指定できます。 XMLインストゥルメンテーションは強力な効果がありますが、その他のインストゥルメンテーションメソッドに比べて複雑でもあります。よりシンプルなインストゥルメンテーションが必要な場合、New Relicは、UIを使用したアノテーションまたはインストゥルメンテーションを推奨します。詳しくは、XMLによるJavaインストゥルメンテーションをご覧ください。 |
カスタムインストゥルメンテーションによるJava Management Extensions(JMX)もモニターできます。JMXは、アプリケーション、デバイス、サービスをモニターし、管理する方法の1つです。外部YAMLファイルを使用してJMXモニタリングを実装できます。