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.4
    Sv translation
    languageen

    The JavaScript API enables you to manually report events to the agent so that that it can time the various parts of your virtual page loads and correlate Ajax calls to those page loads. You can also capture and report errors using this API.

    Notify the Agent of Events

    Events are reported to the JavaScript Agent (ADRUM) by calling the ADRUM.report method and passing in an event tracker object.

    API
    Description
    ADRUM.report(tracker: eventTracker);Notifies the agent of an event.

    Anchor
    report-vps
    report-vps
    Report Virtual Pages

    SPA1 Monitoring

    For SPA1 monitoring, use the event tracker VPageView to manually report virtual pages. 

    Anchor
    spa2-report-vps
    spa2-report-vps
    SPA2 Monitoring

    You are required to enable SPA2 monitoring to use the API below to manually report virtual pages for SPAs. These APIs will also work in non-SPAs if you enable SPA2 monitoring.

    To report virtual pages, you mark the beginning and end of virtual pages with the methods below. Both methods are called from the ADRUM object. See also Set Custom Virtual Page Names.

    APIParameter(s)Default ValueDescriptions

    markVirtualPageBegin(VPName: string, manuallyMarkVPEnd?: boolean)

    VPName
    N/A

    Used to set the label for the virtual page. This label will be displayed in the Controller UI.

    The virtual page name must consist of a string of 760 or fewer alphanumeric characters.

    If the string length exceeds 760 characters, the page name will not be set.

    manuallyMarkVPEnd
    true

    A flag that indicates whether you or the JavaScript Agent mark the end of the virtual page.

    When set to true, you need to call markVirtualPageEnd to report the virtual page.

    When set to false, the JavaScript Agent will automatically mark the end of the virtual page.

    markVirtualPageEnd()
    N/AN/ACalling this method marks the end of the virtual page and triggers the JavaScript Agent to send a beacon with the virtual page information.

    How the API Works

    The steps below describe the process of manually reporting virtual pages with the API:

    1. Start monitoring a virtual page by manually marking the beginning of the virtual page with ADRUM.markVirtualPageBegin(VPName, manuallyMarkVPEnd)

    2. A beacon with the set virtual page name is sent to the EUM Server. If manuallyMarkVPEnd is set to true, the JavaScript Agent will wait for you to call ADRUM.markVirtualPageEnd to report the virtual page. If manuallyMarkVPEnd is set to false, the JavaScript Agent will automatically mark the end of the virtual page.
    3. You either call ADRUM.markVirtualPageEnd() to mark the end of the virtual page or the JavaScript Agent automatically marks the end of the virtual page.
    4. The JavaScript Agent reports the virtual page metrics to the EUM Server.

    Example of Reporting Virtual Pages

    The Angular example below shows both ways to mark the beginning of a virtual page. The function manualMarkVPEnd calls ADRUM.markVirtualPageBegin that uses the default requiring you to manually mark the end of the virtual page. The function allowJSAgentMarkVPEnd passes the value false as the second parameter, so that the JavaScript Agent will automatically mark the end of the virtual page for you.

    Code Block
    languagejs
    angular.module('myApp.controllers', [])
        .controller('VPCtrl', ['$scope', '$http', function ($scope, $http) {
                $scope.manualMarkVPEnd = function () {
                    console.log("Mark the beginning of the virtual page and wait for markVirtualPageEnd() to be called.");
                    ADRUM.markVirtualPageBegin("VPExample-ManuallyMarkEnd");
                }
                $scope.allowJSAgentMarkVPEnd = function () {
                    console.log("Mark the beginning of the virtual page and allow the JS Agent to mark the virtual page end.");
                    ADRUM.markVirtualPageBegin("virtualPageExample-JSAgentMarksEnd", false);
                }
                $scope.endVirtualPage = function () {
                    console.log("Mark the end of the virtual page.");
                    ADRUM.markVirtualPageEnd();
                }
                ...
            }
        ]
    );

    Anchor
    track
    track
    Report Events

    Events are reported to the agent using event trackers. There are three different kinds of event trackers:

    Event TrackerEnabled for SPA2 Monitoring?Description
    VPageViewNoUsed to track the stages of a virtual page view.
    AjaxYesUsed to track Ajax requests.
    ErrorYesUsed to track errors.

    Common Properties

    There are also two properties that are common to all tracker types:

    • Gets or sets a URL

      APIDescription
      url(url?: string)Gets or sets a URL.
    • Gets or sets the parent event identifier

      APIDescription
      parent(parent?: object)Gets or sets the parent event identifier.

    Anchor
    pageview
    pageview
    VPageView

    The following is the page view load flow in SPA1 monitoring. You'll use the SPA1 monitoring API below to set timing marks to match the below workflow as closely as possible in your own single page app framework. For SPA2 monitoring, see Report Virtual Pages: SPA2 Monitoring to learn about the SPA2 APIs for manually reporting virtual pages.

    Based on the marks you set, AppDynamics derives the following key timing metrics. Marks should be called in the order in which they occur in the flow. The following table describes which marks used to calculate each metric.

    Full Metric NameShort Metric NameHow Calculated
    End User Response Time
    (not used for waterfall UI) 
    PLTvirtualPageStart to virtualPageEnd
    HTML Download TimeDDTviewChangeStart to viewChangeEnd
    HTML Download and DOM Building TimeDRTviewChangeStart to viewDOMLoaded
    DOM Building TimeDPTviewChangeEnd to viewDOMLoaded
    DOM Ready Time
    (used instead of PLT for waterfall UI) 
    DOMviewChangeStart to viewDOMLoaded

    Instantiate using ADRUM.events.VPageView(). 

    APIDescription

    start()


    Indicates when a virtual page starts. It automatically calls:

    • startCorrelatingXhrs()
    • markVirtualPageStart()

    end()


    Indicates when a virtual page ends. It automatically calls:

    • stopCorrelatingXhrs()
    • markVirtualPageEnd()
    startCorrelatingXhrs()

    Correlates the Ajax requests sent after this call with the virtual page view event. The last tracker calling this method wins.

    Info

    This method is called automatically in the VPageView constructor. When a VPageView is created, the AJAX requests made after that call are automatically correlated to that VPageView. Use this separate call only when you want to set up manual correlation.

    stopCorrelatingXhrs()

    Stops correlating Ajax requests to the virtual page view event.

    Info

    Use this separate call only when you wish to set up manual correlation.

    SettersThe default value for these is the time when the API is called.
    markViewChangeStart()Sets the view change start time.
    markViewChangeEnd()Sets the view change end time.
    markViewDOMLoaded()Sets the view DOM loaded time.

    markXhrRequestsCompleted()

    Sets the XHR requests completed time.

    markViewResourcesLoaded() 

    Sets the view resources loaded time. This includes images, CSS files, and scripts.

    markVirtualPageStart()

    Sets the virtual page start time.

    markVirtualPageEnd()

    Sets the virtual page end time.
    Getters
    getViewChangeStart()Gets the view change start time.
    getViewChangeEnd()Gets the view change end time.
    getViewDOMLoaded()Gets the view DOM loaded time.
    getXhrRequestsCompleted()Gets the XHR requests completed time.
    getViewResourcesLoaded()Gets the view resources loaded time.
    getVirtualPageStart()Gets the virtual page start time.
    getVirtualPageEnd()

    Gets the virtual page end time.


    Anchor
    ajax
    ajax
    Ajax

    Instantiate using ADRUM.events.Ajax(). 

    API

    Description
    Property Setters/GettersCall this without a parameter to get the value and with a parameter to set the value.
    method(method?: string)Gets or sets the method ("GET" or "POST") of the Ajax.
    Timing SettersThe default value for these is the time when the API is called.
    markSendTime(sendTime?: number)Sets the time the request is sent.
    markFirstByteTime(firstByteTime?: number)Sets First Byte Time.
    markRespAvailTime(respAvailTime?: number)Sets Response Available Time.
    markRespProcTime(RespProcTime?: number)Sets the time the response is completely processed.
    Timing Getters
    getSendTime()Gets the time the request was sent.
    getFirstByteTime()Gets First Byte Time.
    getRespAvailTime()Gets Response Available Time
    getRespProcTime()Gets the time the response was completely processed.

    Anchor
    error
    error
    Errors

    Instantiate using ADRUM.events.Error(). 
    API
    Description
    Property Setters/GettersCall these without a parameter to get the value and with a parameter to set the value.

    msg(msg?: string)

    Gets or sets the error message.
    line(line?: number)Gets or sets the line number of source code where the error happened.

    Anchor
    ajax
    ajax
    Correlate Ajax Requests

    Ajax requests can be correlated to virtual page views automatically or manually. When you create a vPageView tracker, startCorrelatingXhrs() is called automatically in the constructor, correlating any subsequent Ajax calls with that VPageView event. To set up manual correlation, call stopCorrelatingXhrs() to stop the automatic process and then call startCorrelatingXhrs() where you wish correlation to re-commence.

    Sample Code

    Code Block
    languagejs
    titleReport a custom Error event by passing properties via setters
    var errorT = new ADRUM.events.Error();
    errorT.msg('I am a custom error at line 100');
    errorT.line(100);
    ADRUM.report(errorT);
    Code Block
    languagejs
    titleReport a custom Error event by passing properties via the constructor
    var errorT = new ADRUM.events.Error({
    msg: 'I am a custom error at line 100',
    line: 100
    });
    ADRUM.report(errorT);
    Code Block
    languagejs
    titleReport a custom Ajax event passing properties via setters
    var ajaxT = new ADRUM.events.Ajax();
      
    // set url
    ajaxT.url('your xhr Url');
      
    // mark timings
    ajaxT.markSendTime(100);
    ajaxT.markFirstByteTime(200);
    ajaxT.markRespAvailTime(300);
    ajaxT.markRespProcTime(400);
    ADRUM.report(ajaxT);
    Code Block
    languagejs
    titleSet up backbone SPA monitoring
    var AppRouter = Backbone.Router.extend({
        routes: {
            "wines/:id": "wineDetails"
        },
        wineDetails: function (id) {
            var vpView = new ADRUM.events.VPageView();
            vpView.markVirtualPageStart();
            // vpView.markViewChangeStart();
            var wine = new Wine({id: id});
            wine.fetch({success: function(){
                vpView.markXhrRequestsCompleted();
                $("#content").html(new WineView({model: wine}).el);
                vpView.markViewDOMLoaded();
                vpView.markVirtualPageEnd();
                ADRUM.report(vpView);
            }});
            this.headerView.selectMenuItem();
        }
    });
    Code Block
    languagejs
    titleCorrelate Ajax requests wih VPageView Events
    var vPageView = new ADRUM.events.VPageView({
        url: 'http://localhost/#virtualpage1',
    });
     
    vPageView.start();
     
    // SPA view routing and HTML partials fetching
    vPageView.markViewChangeStart()
    // AJAX requests for the HTML partials are automatically correlated with the VPageView
    ...
    vPageView.markViewChangeEnd();
     
    // HTML partials inserted into Browser DOM tree
    ...
    vPageView.markViewDOMLoaded();
     
    // SPA HTML AJAX data fetching
    // Data AJAX requests are automatically correlated with the VPageView
    ...
     
    vPageView.markXhrRequestsCompleted();
     
    // call this when ending a new virtual page
    vPageView.end();
     
    ADRUM.report(vPageView);

    You can exclude certain Ajax calls from being monitored by configuring ADRUM itself  Before you invoke the adrum.js script at the top of your page, add lines similar to the following:

    Code Block
    languagejs
    titleExclude Ajax from VPageView using ADRUM configuration
    window['adrum-config'] = {
      "spa": {
        "angular": {
          "vp": {
            "xhr": {
              "exclude": {
                "urls": [{
                  "pattern": 'heartBeatAjax'
                }]
              }
            }
          }
        }
      }
    }

    Or you can exclude certain Ajax calls using the vPageView.stopCorrelatingXhrs() call, and then turn correlation back on with vPageView.startCorrelatingXhrs(), as in the following:

    Code Block
    languagejs
    titleExclude Ajax from VPageView event manually
    var vPageView = new ADRUM.events.VPageView();
    vPageView.stopCorrelatingXhrs();
      
    var xhr = new XMLHttpRequest();
    xhr.open('GET', '/heartBeatAjax');
    xhr.send();
      
    vPageView.startCorrelatingXhrs();
    Sv translation
    languageja
    Appd tocbox
    Width320px

    On this page:

    Table of Contents
    maxLevel2
    minLevel2

    JavaScript API を使用すると、仮想ページのさまざまな部分をロードする時間を測定し、それらのページのロードと Ajax コールを関連付けることができるように、イベントをエージェントに手動で報告できます。また、この API を使用してエラーをキャプチャし、報告することもできます。

    イベントのエージェントへの通知

    イベントは、ADRUM.report メソッドを呼び出してイベント トラッカー オブジェクトで渡すことで、JavaScript エージェント(ADRUM)に報告されます。

    API
    説明
    ADRUM.report(tracker: eventTracker);イベントのエージェントに通知します。

    Anchor
    report-vps
    report-vps
    仮想ページのレポート

    SPA1 モニタリング

    SPA1 モニタリングでは、イベントトラッカー「VPageView」を使用して、手動で仮想ページをレポートします。 

    Anchor
    spa2-report-vps
    spa2-report-vps
    SPA2 モニタリング

    以下の API を使用して SPA の仮想ページを手動でレポートするには、SPA2 モニタリングを有効にする必要があります。SPA2 モニタリングを有効にしている場合は、これらの API が SPA 以外でも機能します。

    仮想ページを報告するには、以下のメソッドを使用して仮想ページの始まりと終わりをマークします。両方のメソッドが ADRUM オブジェクトから呼び出されます。Set Custom Virtual Page Names も参照してください。

    APIパラメータデフォルト値内容

    markVirtualPageBegin(VPName: string, manuallyMarkVPEnd?: boolean)

    VPName
    N/A

    仮想ページのラベルを設定します。このラベルは、コントローラ UI に表示されます。

    仮想ページ名は、760 文字以下の英数字で構成する必要があります。

    文字列の長さが 760 文字を超えると、ページ名は設定されません。

    manuallyMarkVPEnd
    true

    ユーザまたは JavaScript エージェントが仮想ページの終わりをマークするかどうかを示すフラグ。

    true に設定すると仮想ページを報告markVirtualPageEndするために呼び出す必要があります。

    false に設定すると、JavaScript エージェントは仮想ページの終わりを自動的にマークします。

    markVirtualPageEnd()
    なしなしこのメソッドを呼び出すと、仮想ページの終わりがマークされ、仮想ページ情報でビーコンを送信するように JavaScript エージェントがトリガーされます。

    API の動作

    次の手順では、API を使用して仮想ページを手動で報告するプロセスについて説明します。

    1. ADRUM.markVirtualPageBegin(VPName, manuallyMarkVPEnd) を使用して仮想ページの始まりを手動でマークすることによって、仮想ページのモニタリングを開始します。 

    2. セット仮想ページ名を持つビーコンが EUM サーバに送信されます。manuallyMarkVPEnd が true に設定されている場合、JavaScript エージェントは、ADRUM.markVirtualPageEnd を呼び出して仮想ページをレポートするまで待機します。manuallyMarkVPEndfalse に設定されている場合、JavaScript エージェントは仮想ページの終わりを自動的にマークします。
    3. ADRUM.markVirtualPageEnd() を呼び出して仮想ページの終わりをマークするか、JavaScript エージェントで仮想ページの終わりを自動的にマークします。
    4. JavaScript エージェントは、EUM サーバに仮想ページのメトリックを報告します。

    仮想ページのレポート例

    以下の Angular の例は、仮想ページの始まりをマークする 2 つの方法を示しています。関数 manualMarkVPEnd は、仮想ページの終わりを手動でマークする必要があるデフォルトを使用する ADRUM.markVirtualPageBegin を呼び出します。関数 allowJSAgentMarkVPEnd は、値 false を 2 番目のパラメータとして渡します。これにより、JavaScript エージェントが仮想ページの終わりを自動的にマークします。

    Code Block
    languagejs
    angular.module('myApp.controllers', [])
        .controller('VPCtrl', ['$scope', '$http', function ($scope, $http) {
                $scope.manualMarkVPEnd = function () {
                    console.log("Mark the beginning of the virtual page and wait for markVirtualPageEnd() to be called.");
                    ADRUM.markVirtualPageBegin("VPExample-ManuallyMarkEnd");
                }
                $scope.allowJSAgentMarkVPEnd = function () {
                    console.log("Mark the beginning of the virtual page and allow the JS Agent to mark the virtual page end.");
                    ADRUM.markVirtualPageBegin("virtualPageExample-JSAgentMarksEnd", false);
                }
                $scope.endVirtualPage = function () {
                    console.log("Mark the end of the virtual page.");
                    ADRUM.markVirtualPageEnd();
                }
                ...
            }
        ]
    );

    Anchor
    トラック
    トラック
    イベントの報告

    イベントは、イベントトラッカーを使用してエージェントに報告されます。イベントトラッカーには、次の 3 つの種類があります。

    イベントトラッカーSPA2 モニタリングでの有効/無効説明(Description)
    VPageViewなし仮想ページビューのステージを追跡します。
    AjaxありAjax リクエストを追跡します。
    Errorありエラーを追跡します。

    [Common Properties]

    また、すべてのトラッカータイプに共通するプロパティが 2 つあります。

    • URL の取得または設定

      API説明
      url(url?: string)URL を取得または設定します。
    • 親イベント識別子の取得または設定

      API説明
      parent(parent?: object)親イベント識別子を取得または設定します。

    Anchor
    pageview
    pageview
    VPageView

    次に、SPA1 モニタリングでのページビューのロードフローを示します。以下の SPA1 モニタリング API を使用して、独自の単一ページ アプリケーション フレームワークで可能な限り下記のワークフローに一致するタイミングマークを設定します。SPA2 モニタリングについては、仮想ページの報告:SPA2 モニタリング」を参照し、SPA2 API で仮想ページを手動で報告する方法について学習してください。

    AppDynamics では、設定したマークに基づいて、次の主要なタイミングメトリックを導出します。マークは、フロー内で発生した順序で呼び出す必要があります。次の表では、各メトリックの計算に使用されるマークについて説明します。

    完全なメトリック名メトリック名の省略形計算方法
    エンドユーザの応答時間
    (ウォーターフォール UI には使用されません)
    PLTvirtualPageStartvirtualPageEnd
    HTMLダウンロード時間DDTviewChangeStartviewChangeEnd
    HTML ダウンロードおよび DOM 構築時間DRTviewChangeStartviewDOMLoaded
    DOM構築時間DPTviewChangeEndviewDOMLoaded
    DOM 待受時間
    (ウォーターフォール UI の場合は PLT の代わりに使用されます)
    Dominican Republic(DOM; ドミニカ共和国)viewChangeStartviewDOMLoaded

    次を使用してインスタンス化します。ADRUM.events.VPageView(). 

    API説明

    start()

     

    仮想ページが開始された時点を示します。次を自動的に呼び出します。

    • startCorrelatingXhrs()
    • markVirtualPageStart()

    end()

     

    仮想ページが終了した時点を示します。次を自動的に呼び出します。

    • stopCorrelatingXhrs()
    • markVirtualPageEnd()
    startCorrelatingXhrs()

    このコールの後に送信された Ajax リクエストを仮想ページビューイベントと関連付けます。このメソッドを呼び出す最後のトラッカーが優先されます。

    Info

    このメソッドは、VPageView コンストラクタで自動的に呼び出されます。VPageView が作成されると、そのコールの後に行われた AJAX リクエストは、その VPageView に自動的に関連付けられます。この個別のコールは、手動相関を設定する場合にのみ使用してください。

    stopCorrelatingXhrs()

    仮想ページビューイベントへの Ajax リクエストの関連付けを停止します。

    Info

    この個別のコールは、手動相関を設定する場合にのみ使用してください。

    Settersこれらのデフォルト値は、API が呼び出された時刻です。
    markViewChangeStart()ビューの変更開始時刻を設定します。
    markViewChangeEnd()ビューの変更終了時刻を設定します。
    markViewDOMLoaded()ビューの DOM がロードされた時刻を設定します。

    markXhrRequestsCompleted()

    XHR リクエストの完了時刻を設定します。

    markViewResourcesLoaded() 

    ビューのリソースがロードされた時刻を設定します。これには、画像、CSS ファイル、およびスクリプトが含まれます。

    markVirtualPageStart()

    仮想ページの開始時刻を設定します。

    markVirtualPageEnd()

    仮想ページの終了時刻を設定します。
    Getters 
    getViewChangeStart()ビューの変更開始時刻を取得します。
    getViewChangeEnd()ビューの変更終了時刻を取得します。
    getViewDOMLoaded()ビューの DOM がロードされた時刻を取得します。
    getXhrRequestsCompleted()XHR リクエストが完了した時刻を取得します。
    getViewResourcesLoaded()ビューのリソースがロードされた時刻を取得します。
    getVirtualPageStart()仮想ページの開始時刻を取得します。
    getVirtualPageEnd()

    仮想ページの終了時刻を取得します。


    Anchor
    ajax
    ajax
    Ajax

    次を使用してインスタンス化します。ADRUM.events.Ajax(). 

    API

    説明
    Property Setters/Getters値を取得するパラメータではなく、値を設定するパラメータを指定して呼び出します。
    method(method?: string)Ajax のメソッド(「GET」または「POST」)を取得または設定します。
    Timing Settersこれらのデフォルト値は、API が呼び出された時刻です。
    markSendTime(sendTime?: number)要求が送信される時刻を設定します。
    markFirstByteTime(firstByteTime?: number)最初のバイト時間を設定します。
    markRespAvailTime(respAvailTime?: number)応答可能時間を設定します。
    markRespProcTime(RespProcTime?: number)応答が完全に処理された時刻を設定します。
    Timing Getters 
    getSendTime()要求が送信された時刻を取得します。
    getFirstByteTime()最初のバイト時間を取得します。
    getRespAvailTime()応答可能時間を取得します。
    getRespProcTime()応答が完全に処理された時刻を取得します。

    Anchor
    エラー
    エラー
    エラー

    次を使用してインスタンス化します。ADRUM.events.Error(). 
    API
    説明
    Property Setters/Getters値を取得するパラメータではなく、値を設定するパラメータを指定して呼び出します。

    msg(msg?: string)

    エラーメッセージを取得または設定します。
    line(line?: number)エラーが発生したソースコードの行番号を取得または設定します。

    Anchor
    ajax
    ajax
    Ajax リクエストの関連付け

    Ajax リクエストは、仮想ページビューに自動または手動で関連付けることができます。VPageView トラッカーを作成すると、startCorrelatingXhrs()  が自動的にコンストラクタで呼び出され、後続の Ajax コールとその VPageView イベントを関連付けます。手動相関を設定するには、stopCorrelatingXhrs() を呼び出して自動プロセスを停止してから、相関を再開始する startCorrelatingXhrs() を呼び出します。

    コードの例

    Code Block
    languagejs
    titleReport a custom Error event by passing properties via setters
    var errorT = new ADRUM.events.Error();
    errorT.msg('I am a custom error at line 100');
    errorT.line(100);
    ADRUM.report(errorT);
    Code Block
    languagejs
    titleReport a custom Error event by passing properties via the constructor
    var errorT = new ADRUM.events.Error({
    msg: 'I am a custom error at line 100',
    line: 100
    });
    ADRUM.report(errorT);
    Code Block
    languagejs
    titleReport a custom Ajax event passing properties via setters
    var ajaxT = new ADRUM.events.Ajax();
      
    // set url
    ajaxT.url('your xhr Url');
      
    // mark timings
    ajaxT.markSendTime(100);
    ajaxT.markFirstByteTime(200);
    ajaxT.markRespAvailTime(300);
    ajaxT.markRespProcTime(400);
    ADRUM.report(ajaxT);
    Code Block
    languagejs
    titleSet up backbone SPA monitoring
    var AppRouter = Backbone.Router.extend({
        routes: {
            "wines/:id": "wineDetails"
        },
        wineDetails: function (id) {
            var vpView = new ADRUM.events.VPageView();
            vpView.markVirtualPageStart();
            // vpView.markViewChangeStart();
            var wine = new Wine({id: id});
            wine.fetch({success: function(){
                vpView.markXhrRequestsCompleted();
                $("#content").html(new WineView({model: wine}).el);
                vpView.markViewDOMLoaded();
                vpView.markVirtualPageEnd();
                ADRUM.report(vpView);
            }});
            this.headerView.selectMenuItem();
        }
    });
    Code Block
    languagejs
    titleCorrelate Ajax requests wih VPageView Events
    var vPageView = new ADRUM.events.VPageView({
        url: 'http://localhost/#virtualpage1',
    });
     
    vPageView.start();
     
    // SPA view routing and HTML partials fetching
    vPageView.markViewChangeStart()
    // AJAX requests for the HTML partials are automatically correlated with the VPageView
    ...
    vPageView.markViewChangeEnd();
     
    // HTML partials inserted into Browser DOM tree
    ...
    vPageView.markViewDOMLoaded();
     
    // SPA HTML AJAX data fetching
    // Data AJAX requests are automatically correlated with the VPageView
    ...
     
    vPageView.markXhrRequestsCompleted();
     
    // call this when ending a new virtual page
    vPageView.end();
     
    ADRUM.report(vPageView);

    ページ上部の adrum.js スクリプトを呼び出す前に、ADRUM 自体を設定して、特定の Ajax コールをモニタ対象から除外することができます。次のような行を追加します。

    Code Block
    languagejs
    titleExclude Ajax from VPageView using ADRUM configuration
    window['adrum-config'] = {
      "spa": {
        "angular": {
          "vp": {
            "xhr": {
              "exclude": {
                "urls": [{
                  "pattern": 'heartBeatAjax'
                }]
              }
            }
          }
        }
      }
    }

    または、vPageView.stopCorrelatingXhrs() コールを使用して特定の Ajax コールを除外してから、次のように  vPageView.startCorrelatingXhrs() を使用して関連付けを戻すこともできます。

    Code Block
    languagejs
    titleExclude Ajax from VPageView event manually
    var vPageView = new ADRUM.events.VPageView();
    vPageView.stopCorrelatingXhrs();
      
    var xhr = new XMLHttpRequest();
    xhr.open('GET', '/heartBeatAjax');
    xhr.send();
      
    vPageView.startCorrelatingXhrs();