SPA2 要件

  • JavaScript エージェント 4.4.3 以降

  • コントローラ/EUM サーバ 4.4.3 以降(オンプレミス展開の場合)

  • SPA2 モニタリングの有効化

  • IE 10 および Edge がサポートされています。IE 10 以降と Edge は、IE 9 またはそれ以前のブラウザとの互換モードにはできません。
  • 非 AngularJS フレームワークでは、JavaScript エージェント 4.2 以降が必要です。

  • Angular のサポート:

    • Angular 12 SPA は JavaScript エージェント 21.12.0 以降でサポートされています。
    • Angular 10-11 SPA は JavaScript エージェント 21.7.0 以降でサポートされています。
    • Angular 6-9 SPA は JavaScript Agent 4.5.16 以降でサポートされています。

JavaScript エージェント API を使用して仮想ページを手動でレポートして名前を付けるには、JavaScript エージェント 4.5 以降 を使用する必要があります。JavaScript エージェント 4.4.3 以降では、イベントの手動でのレポート用に JavaScript エージェント API の使用をサポートしていません。

SPA2 モニタリングの有効化/無効化

Javascript エージェントの設定で、次に示すように spa2 を true に設定し、JavaScript エージェントを挿入します。手動または自動のいずれかの挿入を使用できます。spa2 のデフォルト値は false であるため、SPA2 モニタリングを有効にするには、spa2 を true に設定する必要があります。 

JavaScript エージェントをロードする前に、SPA2 モニタリングの有効化などの構成が設定されているか確認します。

<script charset='UTF-8'>
    window['adrum-start-time'] = new Date().getTime();
    (function(config){
        config.appKey = '<EUM_APP_KEY>';
        config.adrumExtUrlHttp = 'http://cdn.appdynamics.com';
        config.adrumExtUrlHttps = 'https://cdn.appdynamics.com';
        config.beaconUrlHttp = 'http://col.eum-appdynamics.com';
        config.beaconUrlHttps = 'https://col.eum-appdynamics.com';
        config.xd = {enable : false};
        config.spa = {
            "spa2": true 
        };
    })(window['adrum-config'] || (window['adrum-config'] = {}));
</script>
<script src='//cdn.appdynamics.com/adrum/adrum-latest.js' type='text/javascript' charset='UTF-8'></script>
JS

SPA2 モニタリングの無効化

SPA2 自動インストゥルメンテーションを無効にするには、spa2 を false に設定するだけです。spa2 のデフォルト値は false ですが、削除するのではなく、設定を false に設定することをお勧めします。

SPA1 から SPA2 モニタリングへの移行

SPA1 から SPA2 モニタリングに移行するには、次のようにします。

  1. SPA1 と SPA2 のモニタリング」を参照し、使用例が SPA2 に適していることを確認します。
  2. SPA2 要件を満たします。
  3. SPA2 モニタリングを有効にします

SPA2 モニタリング用の取得 API サポート

JavaScript エージェントは、角アプリケーションを除くすべての SPA に対して、デフォルトで取得 API コールをモニタします。 

Angular.js および Angular 2-9 アプリケーションの場合、次の手順に従って Fetch API コールがモニタされていることを確認します。 

  1. JavaScript エージェントは、デフォルトで取得 API コールをモニタするように設定されています。JavaScript エージェントの設定に次のものが含まれていないことを確認します。

    config.fetch = false
    JS
  2. Angular の前に JavaScript エージェントをロードします(推奨ですが、必須ではありません)。 

    <script src="adrum.js"/>
    <script src="angular.js"/>
    JS
  3. 次の設定を追加して、JavaScript エージェントが Angular アプリケーションを正しくモニタするようにします。

    function(config) { 
       ...
       config.isZonePromise = true; 
       ...
    })(window['adrum-config'] || (window['adrum-config'] = {}));
    JS
    function(config) { 
       ...
       config.angular = true; 
       ...
    })(window['adrum-config'] || (window['adrum-config'] = {}));
    JS