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に設定されている場合、ヘッダーによる相関メッセージはすべてのシナリオで成功します。


enable-soap-header-correlation
HTTP
SOAP(HTTP)
SOAP(その他)
4.4 defaultfalseX--
4.4正しいXXX


4.4.1 以降では、WCF において非 HTTP プロトコル経由で行われる SOAP コールの enable-soap-header-correlation ノードプロパティとデフォルトの動作は変更されました。さらに、新しいプロパティ disable-soap-header-correlation-non-http が追加されました。「アプリケーションエージェントのノードプロパティ参照資料」の「disable-soap-header-correlation-non-http」を参照してください。新しいデフォルト設定では、AppDynamics は NetTcpBinding をビジネストランザクションの一環として使用するダウンストリーム WCF サービスを追加します。

次の表には、以下のユースケースの相関データの変更および追加が取り込まれています。

  • enable-soap-header-correlationdisable-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-correlation と 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 に設定されます。


enable-soap-header-correlation
disable-soap-header-correlation-non-http
HTTP
SOAP(HTTP)
SOAP(その他)
4.5 defaultfalsefalseX-X
4.5正しいfalseXXX
4.5 false正しいX--
4.5正しい正しいXX-


デフォルトでは、.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

    • .NET の正規表現のルールについては、「.NET Framework の正規表現」を参照。
    • 歯車アイコンをクリックしNOT条件を設定する(オプション)。

Operation Name

    • .NET の正規表現のルールについては、「.NET Framework の正規表現」を参照。
    • 歯車アイコンをクリックしNOT条件を設定する(オプション)。

たとえば、SearchTravelBookTravel など、TravelService のオペレーションをすべて 1 つのビジネストランザクションとして報告できます。