このページでは、カスタム仮想ページ名を作成する方法について説明します。 

JavaScript エージェントを使用して仮想ページに名前を付けるには、SPA2 モニタリングを有効にする必要があります。URL の一部ではなく、任意の文字列を使用して仮想ページに名前を付けるように JavaScript エージェントを設定できます。仮想ページ名は、760 文字以下の英数字で構成する必要があります。文字列の長さが 760 文字を超えると、ページ名は設定されません。

SPA1 モニタリングを使用している場合、仮想ページの名前を設定するために呼び出されるメソッドは無視されます。


仮想ページに名前を付けるには、次に示すように ADRUM.command が含まれる setVirtualPageName メソッドを実行します。ADRUM オブジェクトは、JavaScript エージェント(adrum-latest.js)をロードした後にグローバルにアクセスできます。

<head>
    <script charset='UTF-8' type='text/javascript'>
        window['adrum-start-time'] = new Date().getTime();
        (function(config){
            config.appKey = '<EUM_APP_KEY>';
            ...
        })(window['adrum-config'] || (window['adrum-config'] = {}));
    </script>
    <script charset='UTF-8' src='//cdn.appdynamics.com/adrum/adrum-latest.js' type='text/javascript' ></script>
    <script type='text/javascript' charset='UTF-8'>
        ...
        ADRUM.command("setVirtualPageName", "myCustomVPName");
    </script>
</head>
JS

setVirtualPageName を使用して仮想ページに名前を付けると、カスタム名が markVirtualPageBegin を使用して手動でマークを付けた次の仮想ページに適用されます。そのため、現在モニタされている仮想ページでは、カスタム名は取得されません。  

次のコード例は、仮想ページの開始と終了を手動でマークし、モニタ対象の次の仮想ページに対して名前を付けるために setVirtualPageName を実行するメソッドを呼び出す方法を示しています。JavaScript API を使用して仮想ページの開始と終了を手動でマークする方法については、「仮想ページのレポート」を参照してください。

.controller('VPNaming', ['$scope', '$http', function ($scope, $http) { 
            $scope.startVirtualPageWithCustomUrl = function () {
                console.log("Marking the beginning of the virtual page and waiting for the end to be manually marked.");
                ADRUM.markVirtualPageBegin("homepage", true);
            }
            $scope.startVirtualPageNotWaitingForMarkVirtualPageEnd = function () {
                console.log("Marking the beginning of the virtual page and allowing the JS Agent to mark the end of the virtual page.");
                ADRUM.markVirtualPageBegin("homepage", false);
            }
            $scope.endVirtualPage = function () {
                console.log("Manually marking the end of the virtual page.");
                ADRUM.markVirtualPageEnd();
            }
            $scope.setVirtualPageName = function () {
                console.log("Setting a custom name for the next virtual page to be monitored: have it's beginning and end marked.");
                ADRUM.command("setVirtualPageName", "myCustomVPName");
            }
        }
    ]
); 
JS