POST パラメータをキャプチャし、そのパラメータを使用して [Pages & Ajax Requests] ページで Ajax リクエストに名前を付けるように、JavaScript エージェントを構成できます。これにより、POST パラメータに基づいて同じページから Ajax リクエストを識別してソートできます。

たとえば、Web サイトのホームページ上のユーザは、アカウントを登録するか、ログインできます。Ajax リクエストは、いずれかのユーザアクションを反映する action パラメータを渡すことができます。action パラメータをキャプチャすることによって、Ajax リクエストを識別してパフォーマンスをモニタし、問題をデバッグできます。

パラメータをキャプチャするための JavaScript エージェントの構成

xhr オブジェクトを使用して、POST パラメータをキャプチャするように JavaScript エージェントを構成します。xhr オブジェクトには、リソース URL を照合し、リクエスト本文を解析するためのコールバックを定義して、目的の結果を返すために使用する parameter プロパティがあります。

次の例では、この構成によって、URL http://www.mystore.com を照合するパターンが設定され、リクエスト本文が解析されて、パラメータ action を含むオブジェクトが返されます。前述のように、このような構成を使用して、リクエストを送信している Ajax リクエストを識別して、ユーザの登録やログインができます。

<script type='text/javascript' charset='UTF-8'>
    window['adrum-start-time'] = new Date().getTime();
    window['adrum-config'] =  { 
        xhr: {
            parameter : {
                urls : [{pattern : '^https?:\\/\\/www\\.mystore\\.com'}],
                getFromBody: function(data) {
                    if (typeof data === 'string') {
                        var fields = data.split("&");
                        for (var i = 0; i < fields.length; i++) {
                            var keyAndValue = fields[i].split('=');
                            if (keyAndValue.length > 1) {
                                var key = keyAndValue[0],
                                value = keyAndValue[1];
                            if (key === 'action')
                                return {action: value};
                            }
                        }
                    }
                }
            }
        }
    }
</script>
<script charset='UTF-8'>
    (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 : true};
    })(window['adrum-config'] || (window['adrum-config'] = {}));

    (function (cfg) {
        if (cfg.beacon) cfg.beacon.neverSendImageBeacon = true;
        else cfg.beacon = { neverSendImageBeacon: 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

Ajax 包含ルールの作成

キャプチャされたリクエストパラメータに基づいて Ajax リクエストに名前を付けるには、キャプチャされる POST パラメータを指定する包含ルールを定義する必要があります。Ajax リクエストの包含ルールを作成する方法については、「Ajax リクエストの命名の構成」を参照してください。

次の例に示す包含ルールは、完全なドメインとキャプチャされた POST パラメータを使用して、[Pages & Ajax Requests] ページで Ajax リクエストに名前を付けます。たとえば、www.mystore.com に対して Ajax リクエストが行われ 、action パラメータの値が register の場合、Ajax リクエストには「www.mystore.com/register」という名前が付けられます。

Include Rule

[Pages & Ajax Requests] で結果を表示する

[Pages & Ajax Requests] ページで包含ルールに基づいて名前が付けられている Ajax リクエストを表示できます。 

上記の構成と包含ルールを使用すると、次の名前の Ajax リクエストが表示されます。mystore.com/register.