AppDynamics は、クライアントが Windows Communication Foundation(WCF)サービスに要求するエントリポイントを自動検出します。リクエストが発生元ティアで行われる場合、メソッドまたはオペレーションはビジネストランザクションの開始を示してトランザクション名を定義します。発生元ティアの詳細については、「ビジネストランザクション」を参照してください。
.NETエージェントは、以下のパターンの非同期エントリポイントを検出します。
- タスクベースの非同期オペレーション
- IAsyncResult Begin-End 非同期パターン
相関ヘッダーの場所の制御
4.4 以前で、WCF コールがダウンストリームティアで実行されると、AppDynamics はこれらのコールを発生元ティアからのビジネストランザクションに含めます。ダウンストリーム WCF サービスで WCF の NetTcpBinding を使用する場合は、アプリケーション エージェント ノード プロパティ enable-soap-header-correlation
の値を true
にして登録する必要があります。「アプリケーションエージェントのノードプロパティ参照資料」の「enable-soap-header-correlation」を参照してください。それ以外の場合、.NET エージェントは、新しいビジネストランザクションのエントリポイントとして、WCF コールを検出します。
次の表では、ノードプロパティがデフォルト(false)に設定されている場合、ヘッダーによる相関メッセージは、HTTPで送信されたときにのみ配信に成功し、HTTPラッパーや他のプロトコルを使用したSOAPでは成功しません。ノードプロパティがtrueに設定されている場合、ヘッダーによる相関メッセージはすべてのシナリオで成功します。
| | | | |
---|
4.4 default | false | X | - | - |
4.4 | 正しい | X | X | X |
4.4.1 以降では、WCF において非 HTTP プロトコル経由で行われる SOAP コールの enable-soap-header-correlation
ノードプロパティとデフォルトの動作は変更されました。さらに、新しいプロパティ disable-soap-header-correlation-non-htt
p が追加されました。「アプリケーションエージェントのノードプロパティ参照資料」の「disable-soap-header-correlation-non-http
」を参照してください。新しいデフォルト設定では、AppDynamics は NetTcpBinding をビジネストランザクションの一環として使用するダウンストリーム WCF サービスを追加します。
次の表には、以下のユースケースの相関データの変更および追加が取り込まれています。
enable-soap-header-correlation
と disable-soap-header-correlation-non-http
の両方のノードプロパティがデフォルト(false)に設定されている場合、ヘッダーによる相関メッセージは、HTTP で、または HTTP 以外のプロトコルでラップされた SOAP で送信されたときにのみ配信に成功します。enable-soap-header-correlation
のノードプロパティが true
に設定され、disable-soap-header-correlation-non-http
ノードプロパティがデフォルト(false
)に設定されている場合、ヘッダーによる相関メッセージはすべてのシナリオで成功します。enable-soap-header-correlation
ノードプロパティがデフォルト(false
)に設定され、disable-soap-header-correlation-non-http
ノードプロパティが true
に設定されている場合、ヘッダーによる相関メッセージは、HTTP で送信されたときにのみ配信に成功し、HTTP ラッパーや他のプロトコルを使用した SOAP では成功しません。enable-soap-header-correlatio
n と disable-soap-header-correlation-non-http
の両方のノードプロパティが true
に設定されている場合、ヘッダーによる相関メッセージは、HTTP で、または HTTP ラッパーを使用する SOAP で送信されたときにのみ配信に成功しますが、別のプロトコルを使用する SOAP では成功しません。
4.4.0 から 4.4.1 以降にアップグレードする場合、enable-soap-header-correlation
プロパティには以前の値が保持され、disable-soap-header-correlation-non-http
のデフォルト値は false
に設定されます。
| | | | | |
---|
4.5 default | false | false | X | - | X |
4.5 | 正しい | false | X | X | X |
4.5 | false | 正しい | X | - | - |
4.5 | 正しい | 正しい | X | X | - |
デフォルトでは、.NET エージェントは、WCF エントリポイントの EUM トランザクションを相関しません。wcf-enable-eum ノードプロパティを使用して WCF の EUM 相関を有効にできます。この機能は、インストゥルメント化されたモバイルアプリケーションが WCF エントリポイントを直接コールする場合に役立ちます。「アプリケーション エージェントのノードプロパティ参照資料」の「wcf-enable-eum」を参照してください。
WCFトランザクションの自動命名
デフォルトでは、AppDynamicsの自動検出命名スキームは、サービス名とオペレーション名を使用してすべてのWCFトランザクションを識別します。
ServiceName.OperationName
CODE
たとえば、トラベル Web サイトの Web サービスは、クライアントのフロントエンド TravelService.BookTravel
から予約を行うとします。ビジネス トランザクション リストから自動検出されたトランザクションは、名前の変更または除外が可能です。
WCFトランザクションのカスタムマッチルール
カスタムマッチルールを使用して、WCFトランザクションの命名をさらに柔軟に行うことができます。マッチルールを定義すると、AppDynamicsではビジネストランザクション名にルール名が使用されます。詳細については、「カスタムマッチルール」を参照してください。
AppDynamics は指定された条件に一致するリクエストを検出する場合、カスタム名を使用してリクエストを識別します。次の条件に基づいてマッチすることができます。
Web Service Name
Operation Name
たとえば、SearchTravel
や BookTravel
など、TravelService のオペレーションをすべて 1 つのビジネストランザクションとして報告できます。