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:

    Most browsers stop capturing resource timing data in a page when the number of resources reaches 150 because of the limit set by the Resource Timing API. You can configure the JavaScript Agent for conventional web pages (non-single page applications) and single-page applications (SPAs), however, to overcome this limitation. 

    Info

    For Internet Explorer, you currently cannot use the JavaScript Agent configuration above to override the Resource Timing API's default limit of resources returned by the browser.

    Because the JavaScript Agent configuration is different for non-SPA and SPA, see the following sections for details and instructions:

    Table of Contents
    maxLevel2
    minLevel2

    Set and Clear the Resource Timing Buffer for Non-SPAs

    For non-SPAs, you can configure the JavaScript Agent to use a buffer to capture resource timing data and then set a flag to clear the buffer once the beacon has transmitted the resource timing data to the EUM Server. Clearing the buffer clears the browser's resource buffer array and ensures that new resources will be sent in the next beacon. 

    Info

    Overriding the Resource Timing API and clearing the buffer may affect JavaScript code on your page that is using the Resource Timing API. Thus, the JavaScript Agent uses the default set by the Resource Timing API unless you override the default by configuring the JavaScript Agent to set and clear the resource timing buffer.

    JavaScript Configuration Example

    The resTiming object is used for configuring the buffer size (maximum number of resources to return) and whether the buffer is reset once the beacon is transmitted to the EUM Server. The code snippet below shows you how to specify the buffer size and set the flag for clearing the buffer with the properties bufSize and clearResTimingOnBeaconSend.

    Code Block
    languagejs
    <head>
        <script type='text/javascript' charset='UTF-8'>
            window['adrum-config'] = {
                resTiming: {
                    bufSize: 200,
                    clearResTimingOnBeaconSend: true
                }
            };
        </script>
        <script src='//cdn.appdynamics.com/adrum/adrum-latest.js' type='text/javascript' charset='UTF-8'></script>
    </head>

    Anchor
    spa-config-disable-clear-cache
    spa-config-disable-clear-cache
    Disable the Clearing of the Resource Timing Buffer for SPAs

    For SPAs, the JavaScript Agent by default clears the resource timing buffer after it's full and saves the data in a local buffer. You can configure the JavaScript Agent so that the resource timing buffer is not cleared to capture resource timing data. 

    Info

     If the resource timing buffer is not cleared, the resource timing correlation may miss some resources due to the buffer limit of the browser.

    JavaScript Configuration Example

    The default for clearResTiming is true. Setting clearResTiming to false, as shown below, disables the automatic clearing of the resource timing buffer. The resource timing buffer for virtual pages will also not be cleared.

    Code Block
    languagejs
     window['adrum-config'] = {
          ...
          "spa": {
               "spa2": {"clearResTiming": false}
          }
    }
    Sv translation
    languageja

    リソースの数がリソースタイミング API によって設定された制限である 150 に達すると、ほとんどのブラウザではリソースタイミングデータのキャプチャが停止します。ただし、この制限を上書きするように、従来の Web ページ(非単一ページアプリケーション)と単一ページアプリケーション(SPA)の JavaScript エージェントを構成できます。 

    Info

    Internet Explorer については 、現在、上記の JavaScript エージェント構成を使用して、ブラウザによって返されるリソースのリソースタイミング API のデフォルト制限を上書きすることはできません。

    JavaScript エージェント構成は非 SPA と SPA で異なります。詳細と手順については、次のセクションを参照してください。

    Table of Contents
    maxLevel2
    minLevel2

    非 SPA のリソースタイミングバッファの設定およびクリア

    非 SPA では、バッファを使用してリソースタイミングデータをキャプチャし、ビーコンがリソースタイミングデータを EUM サーバに送信した後に、バッファをクリアするフラグを設定するように JavaScript エージェントを構成できます。バッファをクリアすると、ブラウザのリソースバッファアレイがクリアされ、新しいリソースが次のビーコンで送信されるようになります。 

    Info

    リソースタイミング API をオーバーライドしてバッファをクリアすると、リソースタイミング API を使用するページの JavaScript コードに影響を与える可能性があります。したがって、リソースタイミングバッファを設定およびクリアするように JavaScript エージェントを構成することで、デフォルトをオーバーライドしない限り、JavaScript エージェントはリソースタイミング API によって設定されたデフォルトを使用します。

    JavaScript 設定の例

    resTiming オブジェクトは、バッファサイズ(返されるリソースの最大数)と、ビーコンが EUM サーバに送信された後にバッファがリセットされるかどうかを構成するために使用されます。次のコードスニペットは、プロパティ bufSizeclearResTimingOnBeaconSend を使用してバッファサイズを指定し、バッファをクリアするフラグを設定する方法を示しています。

    Code Block
    languagejs
    <head>
        <script type="text/javascript" charset="UTF-8">
            window['adrum-config'] = {
                resTiming: {
                    bufSize: 200,
                    clearResTimingOnBeaconSend: true
                }
            };
        </script>
        <script src="//cdn.appdynamics.com/adrum/adrum-latest.js" type="text/javascript" charset="UTF-8"/>
    </head>

    Anchor
    spa-config-disable-clear-cache
    spa-config-disable-clear-cache
    SPA のリソースタイミングバッファのクリアを無効化

    SPA の場合、JavaScript エージェントはデフォルトで、リソースタイミングバッファに空きがなくなり、ローカルバッファにデータを保存した後にリソースタイミングバッファをクリアします。リソースタイミングデータをキャプチャするためにリソースタイミングバッファがクリアされないように、JavaScript エージェントを構成できます。 

    Info

    リソースタイミングバッファがクリアされない場合、ブラウザのバッファ制限により、リソースタイミング相関で一部のリソースが欠落する可能性があります。

    JavaScript 設定の例

    clearResTiming のデフォルトは、true です。次に示すように clearResTimingfalse に設定すると、リソースタイミングバッファの自動クリアが無効になります。仮想ページのリソースタイミングバッファもクリアされません。

    Code Block
    languagejs
     window['adrum-config'] = {
          ...
          "spa": {
               "spa2": {"clearResTiming": false}
          }
    }