モニターする必要がないページから(XMLHttpRequest または Fetch API を使用した)多数の XHR コールがある場合は、エージェントが指定されたコールの正規表現リストのみをモニターするように、XHR フィルタを使用できます。 

XHR コールがモニターされると、XHR コールの絶対パスが JavaScript エージェントに提供されます。コントローラ UI では、これらのモニター対象の XHR コールは、命名規則によって構成されたとおりに表示されます。命名規則がない場合は、XHR コールの絶対パスが表示されます。

XHR フィルタ

次の XHR フィルタを使用して、XHR コールを含めるか、または除外できます。フィルタは、XHR フィルタオブジェクトまたは XHR フィルタオブジェクトの配列の形式で指定できます。

  • xhr.include

  • xhr.exclude 

フィルタオブジェクトの構造

XHR フィルタオブジェクトには、2 つのプロパティ urlsmethod があります。urls プロパティは、URL を照合する正規表現を指定する pattern プロパティを含むオブジェクトの配列です。method プロパティは、HTTP メソッドを指定する文字列です。プロパティのいずれかまたは両方を使用できます。urls 配列のみを使用する場合は、一致した URL がすべての HTTP メソッドについて包含されるか、除外されます。method のみを指定すると、指定した HTTP メソッドを使用するすべてのコールが包含されるか、除外されます。

次に、フィルタオブジェクトの一般的な構造を示します。

{
    urls: 
      [
        {
          pattern: ".*foo.*"
        },
        {
          pattern: ".*bar.*"
        }
      ],
    method: 'GET'
}
JS

XHR フィルタの例

XHR フィルタを使用するには、adrum.js スクリプトを挿入する前に、XHR フィルタを xhr.includexhr.exclude に割り当てる必要があります。除外パターンは包含パターンをオーバーライドすることに注意してください。そのため、包含パターンと除外パターンの両方に一致する URL は、最終的に除外されます。

たとえば、次のコードスニペットでは、包含パターンは http://somedomain/app_status/user-profile.jsp へのすべての HTTP リクエストと一致しますが、除外パターンはその URL への POST コールを除外します。

<head>
    <script type="text/javascript" charset="UTF-8">
        (function(config){
            (function(xhr) {
                xhr.include = {
                    urls: [
                        {
                            pattern: ".*ajax_info.txt"
                        },
                        {
                            pattern: ".*app_status.*"
                        }
                    ]
                };
                xhr.exclude = {
                    urls = [
                        {
                            pattern: ".*user-profile.*"
                        }
                   ],
                   method: "POST"
                };
            })(config.xhr || (config.xhr = {}));
        })(window["adrum-config"] || (window["adrum-config"] = {}));
    </script>
    <script src="//cdn.appdynamics.com/adrum/adrum-latest.js" type="text/javascript" charset="UTF-8"/>
    ...
</head>
JS