カスタムイグジットポイントを使用すると、自動的に検出されないバックエンドタイプを特定できます。たとえば、カスタムイグジットポイントを定義して、ファイルシステム読み込みメソッドへのコードコールを監視できます。
カスタムイグジットポイントを定義すると、カスタムイグジットポイントを構成したときに選択したタイプの関連アイコンとともに、フローマップにバックエンドが表示されます。詳細については、Javaのカスタムイグジットポイントを参照してください。
構成に関する備考
[Configuration > Instrumentation] ページでイグジットポイント検出を構成します。[Backend Detection] タブを選択し、イグジットポイントを構成するアプリケーションまたはティアと、イグジットポイント、Java、.NET などのアプリケーションタイプを選択します。ここから、新しいイグジットポイントの追加や、既存のイグジットポイントの変更ができます。
構成オプションとして使用できる内容はアプリケーションタイプにより異なりますが、一般的には、イグジットポイントを特定してクラスやメソッド名などの検出メカニズムを指定します。以下の追加事項がイグジットポイントの構成に適用されます。
- イグジットポイントを識別するために使用しているメソッドがオーバーロードしている場合は、このメソッド形式の署名を識別するパラメータを追加する必要があります。
- 一致条件を使用すると、条件によりテストされたランタイム値に基づきAppDynamicsがメトリックを収集するメソッドの呼び出しを制限することができます。一致条件は、呼び出されたオブジェクトからのGetterチェーンによりアクセス可能なパラメータ値または任意の値をテストします。
- オプションで、メソッドパラメータ、戻り値、または呼び出されたオブジェクトに基づいてイグジットポイントを分割することができます。
バックエンドに使用するカスタムメトリックとトランザクションスナップショットデータを構成できます。
HTTP クライアントコールなど、自動検出されたバックエンドをカプセル化するメソッドに対してカスタムバックエンドを構成した場合、自動検出された終了コールから関連付けが失われることがあります。
戻り値のバックエンドを分割すると、関連付けが壊れる可能性があります。
カスタムイグジットポイントを追加したり、イグジットポイントを分割/グループ化するときには、イグジットポイント値は最大 50 文字に制限されています。
カスタムイグジットポイントの追加
カスタムイグジットポイントを追加する場合は、イグジットポイントへの外部コールを識別するクラスおよびメソッドを指定します。戻り値、パラメータ、または getter チェーン一致値を指定することで、コールを絞り込むことができます。
選択した種類により、カスタムイグジットポイントのフローマップに表示されるアイコンが決定します。タイプがリストにない場合は、[Use Custom] を選択して [Type] フィールドに文字列を入力し、UI でイグジットポイントコールを指定します。
これらの値に基づいてイグジットポイントを分割することもできます。イグジットポイントの分割条件を追加すると、カスタムイグジットポイントの一致条件全体に一致するすべてのイグジットポイントが分割条件に基づいてさらに評価されます。コールが分割条件に一致する場合は、分割イグジットポイント構成によって、より具体的な名前が付けられます。
高容量イグジットポイント
[Is High Volume] は、サーバやメモリ内のデータベースのキャッシュなど、パフォーマンス要件が高いバックエンドシステム用に最適化されたイグジットポイント構成を作成することが可能なカスタムイグジットポイントのオプションです。
「高音量」のイグジットポイントは、このイグジットポイントへの特定の処理オペレーションをバイパスすることによって、イグジットポイントに関連するオーバーヘッドを無視できる程度に抑制します。そのため、このイグジットポイントのトランザクション相関とエラー詳細は報告されず、イグジットポイント構成の一致条件も報告されません。
高容量のイグジットポイントを使用すると、コール数、エラー数、およびコールの平均応答時間を取得できます。
イグジットポイントの分割とグループ化
イグジットポイントを分割することで、動的アプリケーション値を使用してイグジットポイントを識別できます。具体的には、メソッドパラメータ、メソッドの戻り値、または識別されたメソッドの呼び出されたオブジェクトに指定されたGetterチェーンが返す値のいずれかを使用できます。イグジットポイント分割の構成に使用する構成設定は、データコレクタで使用するものと同じです。構成 UI の使用方法については、「データコレクタ」を参照してください。
イグジットポイント分割を使用する場合の簡単な例は、キャッシュ イグジット ポイントです。この例では、キャッシュに書き込むためのメソッドを識別するイグジットポイントの分割を構成するとします。このメソッドがキャッシュに書き込むオブジェクトでは、現在のキャッシュ名を取得するメソッド、getCacheName()
が使用できます。このメソッドに(呼び出されたオブジェクトの getter チェーンとして)分割を構成すると、イグジットポイントをキャッシュノードの名前を使用して命名できます。これは動的に決定されます。
分割により、イグジットポイントをグループ化することもできます。上記の例に示すように NamedCache.entrySet()
のイグジットポイントにより別のイグジットポイントを作成したとします。このイグジットポイントは、同じクラス(NamedCache
)で getAll()
メソッドを使用します。また、呼び出されたオブジェクトの getCacheName()
メソッドを使用する分割構成もあります。
getAll()
および entrySet()
メソッドが呼び出されたときに getCacheName()
getter チェーンが同じキャッシュ名を指す場合、これらは同じバックエンドへのコールとして表示されます。