Versions Compared

    Key

    • This line was added.
    • This line was removed.
    • Formatting was changed.
    Comment: Published by Scroll Versions from this space and version 20.8
    Sv translation
    languageen
    Appd tocbox

    Related pages:

    If you have many XHR calls (using XMLHttpRequest or the Fetch API) from your page that you do not need to monitor, you can use XHR filters so that the Agent only monitors a regex-defined list of specified calls. 

    When XHR calls are monitored, the absolute path of the XHR calls is provided to the JavaScript Agent. In the Controller UI, those monitored XHR calls will be displayed as configured by naming rules. If there are no naming rules, the absolute path of the XHR call is displayed.

    XHR Filters 

    You can use the XHR filters below to include or exclude XHR calls. The filters can be in the form of an XHR filter object or an array of XHR filter objects.

    • xhr.include

    • xhr.exclude 

    Filter Object Structure

    The XHR filter object has two properties: urls and method. The urls property is an array of objects containing a pattern property that specifies a regular expression for matching URLs. The method property is a string that specifies an HTTP method. You can use one or both of the properties. If you only use the urls array, the matched URLs will be either included or excluded for all HTTP methods. If you only specify method, all calls using the specified HTTP method will be either included or excluded.

    The following is the general structure for the filter object:

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

    XHR Filter Example

    To use XHR filters, you must assign XHR filters to xhr.include and xhr.exclude before you inject the adrum.js script. It's important to note that the exclude patterns override the include patterns, so those URLs that are matched by both the include and exclude patterns will ultimately be excluded.

    For example, in the code snippet below, the include pattern would match all HTTP requests to http://somedomain/app_status/user-profile.jsp, but the exclude pattern would exclude POST calls to that URL.

    Code Block
    languagejs
    <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'></script>
        ...
    </head>
    Sv translation
    languageja
    Appd tocbox

    On this page

    Table of Contents
    maxLevel2

    Related pages

    モニタする必要がないページから(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 メソッドを使用するすべてのコールが包含されるか、除外されます。

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

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

    XHR フィルタの例

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

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

    Code Block
    languagejs
    <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>