すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:SDK リファレンス

最終更新日:Sep 05, 2026

Application Real-Time Monitoring Service (ARMS) のブラウザ監視は、さまざまな要件に対応するために、多様な SDK 設定項目を提供します。たとえば、これらの設定項目を使用して、URL、API オペレーション、または JavaScript (JS) エラーを無視したり、URL から重要でない文字を削除してページを集約したり、ランダムサンプリングを使用してレポートされるデータやワークロードを削減したりできます。

このトピックのメソッド

pid | uid | tag | page | setUsername | enableSPA | parseHash | disableHook | ignoreUrlCase | urlHelper | apiHelper | parseResponse | ignore | disabled | sample | pvSample | sendResource | useFmp | enableLinkTrace | release | environment | behavior | c1\c2\c3 | autoSendPerf

SDK 設定項目の使用

SDK 設定項目は、次のいずれかの方法で使用できます。

  • ページにブラウザ監視エージェントをインストールする際に、要件に応じて config にパラメーターを追加します。

    たとえば、次のサンプルコードでは、デフォルトの pid パラメーターに加えて、シングルページアプリケーション (SPA) 用の enableSPA パラメーターが config に追加されています。

    <script>
    !(function(c,b,d,a){c[a]||(c[a]={});c[a].config={pid:"xxxxxx",enableSPA:true};
    with(b)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("crossorigin","",src=d)
    })(window,document,"https://sdk.rum.aliyuncs.com/v1/bl.js","__bl");
    </script>                    
  • ページの初期化後、JavaScript コードで setConfig メソッドを呼び出して設定項目を変更します。

    __bl.setConfig(next) メソッドは、次のパラメーターを受け入れます。

    パラメーター

    タイプ

    説明

    必須

    デフォルト値

    next

    Object

    変更したい設定項目とその値。

    はい

    なし

pid

pid

String

プロジェクトの一意の ID です。ARMS がサイトを作成する際に自動的に生成されます。

はい

なし

[トップに戻る]

uid

uid

String

ユーザーの ID です。値はユーザーの識別子であり、ユーザーの検索に使用できます。カスタム値を指定できます。このパラメーターを指定しない場合、SDK によって自動的に生成され、6 か月ごとに更新されます。

  • Weex シナリオ:必須

  • その他のシナリオ:必須ではない

  • Weex シナリオ:なし

  • その他のシナリオ:SDK によって自動的に生成

次のコードは、setConfig メソッドを呼び出して SDK 設定項目を変更する方法の例を示しています。

__bl.setConfig({
    uid: 12345
});        
説明

ミニプログラムを監視する場合、setConfig メソッドを呼び出して uid パラメーターを変更することはできません。代わりに、setUsername メソッドを呼び出してユーザーを識別できます。

[トップに戻る]

tag

tag

String

入力タグです。各ログにはタグが付与されます。

いいえ

なし

[トップに戻る]

page

page

String

ページ名。

いいえ

デフォルトでは、現在のページ URL の主要部分である host + pathname が使用されます。

説明

ignoreErrors プロパティを使用して、レポートしたいエラーをクエリできます。詳細については、「ignore」をご参照ください。

[トップに戻る]

setUsername

setUsername

Function

String 型のユーザー名を返す必要があるメソッドを設定するために使用されます。

いいえ

なし

この設定項目は、関数を作成するために使用されます。この関数は、文字列としてユーザー名を取得するために使用されます。ユーザー名が取得された後、エンドツーエンドのセッション追跡を実装し、ユーザー名に基づいてセッションをクエリして問題をトラブルシューティングできます。

説明
  • ページの初期化時にユーザー名を取得できない場合は、一時的なユーザー名の代わりに、戻り値を null に設定できます。戻り値を null に設定すると、SDK がログを送信する際に setUsername メソッドが再度呼び出されてユーザー名が取得されます。ただし、戻り値を一時的なユーザー名に設定すると、その一時的なユーザー名が使用され、setUsername は実際のユーザー名を取得するために再度呼び出されることはありません。

  • setUsername メソッドは、ランタイム中に一度しか設定できません。メソッドを変更するには、アプリケーションを再起動する必要があります。

次のコードは、setConfig メソッドを呼び出して SDK 設定項目を変更する方法の例を示しています。

__bl.setConfig({
    setUsername: function () {
        return "username_xxx";
    }
});            

[トップに戻る]

enableSPA

enableSPA

Boolean

ページの hashchange イベントをリッスンし、PV を再度レポートします。これは、シングルページアプリケーションのシナリオに適用されます。

いいえ (Web シナリオでのみサポート)

false

[トップに戻る]

parseHash

parseHash

Function

enableSPA と一緒に使用します。

いいえ

下記参照

シングルページアプリケーション (SPA) のシナリオ (「SPA のページデータレポート」をご参照ください) で、enableSPAtrue に設定されている場合、hashchange イベントが発生すると、parseHash パラメーターが URL ハッシュを Page フィールドに解析します。

Default value

デフォルト値は、次の文字列処理メソッドを使用して取得されます。

function (hash) {
    var page = hash ? hash.replace(/^#/, '').replace(/\?.*$/, '') : '';
    return page || '[index]';
}           

通常、このパラメーターを変更する必要はありません。ただし、カスタムページ名を使用してページ固有のデータをレポートする場合や、URL ハッシュが複雑な場合は、この設定項目を変更できます。例:

// URL ハッシュとページ名の間のマッピングを定義します。
var PAGE_MAP = {
    '/': 'ホームページ',
    '/contact': 'お問い合わせ',
    '/list': 'データリスト',
    // ...
};
// ページの読み込み後に SDK メソッドを呼び出します。
window.addEventListener('load', function (e) {
    // setConfig メソッドを呼び出して SDK 設定項目を変更します。
    __bl.setConfig({
        parseHash: function (hash) {
            key = hash.replace(/\?.*$/, '');
            return PAGE_MAP[key] || '不明なページ';
        }
    });
});

[トップに戻る]

disableHook

重要

disableHook パラメーターは、設定が初期化されたときにのみ有効になります。

disableHook

Boolean

AJAX リクエストリスナーを無効にします。

いいえ

false:デフォルトでは、リッスンし、API 呼び出しの成功率をレポートするために使用されます。

[トップに戻る]

ignoreUrlCase

ignoreUrlCase

Boolean

ページ URL の大文字と小文字を区別しません。

いいえ

true:デフォルトでは大文字と小文字を区別しません。

[トップに戻る]

urlHelper

urlHelper

*

古いパラメーター ignoreUrlPath の代わりに、URL フィルタリングルールを設定するために使用されます。

いいえ

下記参照

ページ URL が http://example.com/projects/123456 のような場合 (projects の後の数字はプロジェクト ID)、ページとして example.com/projects/123456 をレポートすると、データを表示する際にページが単一のカテゴリにクラスター化されるのを防ぎます。この場合、類似のページが確実にクラスター化されるように、urlHelper パラメーターを使用して、この例のプロジェクト ID のような重要でない文字をフィルタリングできます。

重要
  • urlHelper パラメーターは、ignoreUrlPath パラメーターを置き換えて、ページ URL 内の重要でない文字を無視します。ignoreUrlPath パラメーターを指定した場合でも、その設定は有効です。ignoreUrlPath と urlHelper の両方のパラメーターが指定されている場合は、urlHelper パラメーターで指定された設定が有効になります。

  • この設定は、SDK がページ URL をページ値として自動的にキャプチャする場合にのみ適用されます。 setPage または setConfig メソッドを呼び出してページ値を手動で設定した場合 (「SDK メソッド」をご参照ください)、または enableSPAtrue に設定されている場合、SDK はこの設定を無視します。

Default value

この設定項目のデフォルト値は、次のサンプルコードの配列です。ほとんどの場合、この値を変更する必要はありません。

[
    // パス内のすべての数字をアスタリスク (*) に置き換えます。
    {rule: /\/([a-z\-_]+)?\d{2,20}/g, target: '/$1**'},
    // URL の末尾のスラッシュ (/) を削除します。
    /\/$/
]                    

デフォルトでは、この設定はパスセグメントに続く数値識別子を置き換えます。たとえば、xxxx/00001xxxx/00002 は、元の URL xxxx/123456 と同様に、xxxx/** になります。

値のタイプ

urlHelper パラメーターの値は、次のいずれかのタイプになります。

  • String または RegExp (正規表現):URL 文字列の一致した部分を削除します。

  • Object<rule, target> rule キーと target キーを持つオブジェクトです。これらは、JavaScript の String.prototype.replace() メソッドに引数として渡されます。詳細については、 String.prototype.replace() のドキュメントをご参照ください。

  • Function:元の URL 文字列を引数として受け入れる関数です。その戻り値が最終的なページ値として使用されます。

  • Array:複数のルールを含む配列で、各ルールは上記のいずれかのタイプになります。

[トップに戻る]

apiHelper

apiHelper

*

古いパラメーター ignoreApiPath の代わりに、API フィルタリングルールを設定するために使用されます。

いいえ

下記参照

このパラメーターは、API オペレーションに関するページ固有のデータが自動的にレポートされる際に、ページ URL 内の重要でない文字を削除するために使用されます。このパラメーターの使用法と機能は、urlHelper と同じです。

重要

apiHelper パラメーターは、ignoreApiPath パラメーターを置き換えて、API オペレーションの URL 内の重要でない文字を無視します。ignoreApiPath パラメーターを指定した場合でも、その設定は有効です。ignoreApiPath と apiHelper の両方のパラメーターが指定されている場合は、apiHelper パラメーターで指定された設定が有効になります。

Default value

このパラメーターのデフォルト値はオブジェクトであり、変更する必要はありません。

{rule: /(\w+)\/\d{2,}/g, target: '$1'}                    

このデフォルト設定は、xxxx/123456 のように、API URL パス内の末尾の数字をフィルタリングします。

https://arms.console.alibabacloud.com/apm?pid=fr6fbgbeotpid パラメーターのように、クエリ文字列 (API URL の ? の後の部分) からパラメーターをレポートする必要がある場合は、手動レポートを使用する必要があります。

  • ignore メソッドを呼び出して、自動データレポートを無効にします。詳細については、「ignore」をご参照ください。

  • api() メソッドを呼び出して、API オペレーションに関するページ固有のデータを手動でレポートします。詳細については、「api()」をご参照ください。

[トップに戻る]

parseResponse

parseResponse

Function

自動レポート API 中に返されるデータを解析するために使用されます。

いいえ

下記参照

この設定項目は、API オペレーションのページ固有のデータが自動的にレポートされる際に返されるデータを解析するために使用されます。

Default value

次のサンプルコードは、デフォルト設定を示しています。

function (res) {
    if (!res || typeof res !== 'object') return {};
    var code = res.code;
    var msg = res.msg || res.message || res.subMsg || res.errorMsg || res.ret || res.errorResponse || '';
    if (typeof msg === 'object') {
        code = code || msg.code;
        msg = msg.msg || msg.message || msg.info || msg.ret || JSON.stringify(msg);
    }
    return {msg: msg, code: code, success: true};
}                    

デフォルトの関数は、応答を解析して msg プロパティと code プロパティを抽出します。この関数はほとんどのアプリケーションに適していますが、ビジネス要件を満たさない場合はオーバーライドできます。

[トップに戻る]

ignore

ignore

Object

指定された URL/API/JS エラーを無視します。ルールに一致するログは無視され、レポートされません。これには、サブ設定項目 ignoreUrlsignoreApisignoreErrors、および ignoreResErrors が含まれます。

いいえ

下記参照

ignore パラメーターの値は、ignoreUrlsignoreApisignoreErrors、および ignoreResErrors の 4 つのプロパティを含むオブジェクトです。パラメーター値の 1 つ以上のプロパティを設定できます。

Default value

次のサンプルコードは、デフォルト設定を示しています。

ignore: {
        ignoreUrls: [],
        ignoreApis: [],
        ignoreErrors: [],
        ignoreResErrors: []
    },                    

ignoreUrls

ignoreUrls プロパティは、無視する URL を指定します。指定されたパターンに一致する URL からのログはレポートされません。値は、string正規表現関数、またはこれらのタイプを含む配列にすることができます。例:

__bl.setConfig({
                ignore: {
                    ignoreUrls: [
                    'http://host1/',  // 文字列
                    /.+?host2.+/,     // 正規表現
                    function(str) {   // 関数
                        if (str && str.indexOf('host3') >= 0) {
                            return true;   // レポートしない
                        }
                        return false;      // レポートする
                    }]
                }
            });                    

ignoreApis

ignoreApis プロパティは、無視する API を指定します。指定されたパターンに一致する API への呼び出しは監視されません。値は、string正規表現関数、またはこれらのタイプを含む配列にすることができます。例:

__bl.setConfig({
                ignore: {
                    ignoreApis: [
                    'api1','api2','api3', // 文字列
                    /^random/,  // 正規表現
                    function(str) { // 関数
                        if (str && str.indexOf('api3') >= 0) return true;   // レポートしない
                        return false;   // レポートする
                    }]
                }
            });                    

ignoreErrors

ignoreErrors プロパティは、無視する JS エラーを指定します。指定されたパターンに一致する JS エラーはレポートされません。値は、string正規表現関数、またはこれらのタイプを含む配列にすることができます。例:

__bl.setConfig({
                ignore: {
                    ignoreErrors: [
                    'test error', // 文字列
                    /^Script error\.?$/, // 正規表現
                    function(str) { // 関数
                        if (str && str.indexOf('Unknown error') >= 0) return true;   // レポートしない
                        return false;   // レポートする
                    }]
                }
            });            

ignoreResErrors

ignoreResErrors プロパティは、無視するリソースエラーを指定します。指定されたパターンに一致するリソースエラーはレポートされません。値は、string正規表現関数、またはこれらのタイプを含む配列にすることができます。例:

__bl.setConfig({
                ignore: {
                    ignoreResErrors: [
                    'http://xx/picture.jpg', // 文字列
                    /jpg$/, // 正規表現
                    function(str) { // 関数
                        if (str && str.indexOf('xx.jpg') >= 0) return true;   // レポートしない
                        return false;   // レポートする
                    }]
                }
            });

[トップに戻る]

disabled

disabled

Boolean

ログレポート機能を無効にするかどうかを指定します。

いいえ

false

[トップに戻る]

sample

sample

Integer

API ログのサンプリング設定を行います。値は 1 から 100 までの整数でなければなりません。1/sample のレートでパフォーマンスログと成功した API ログをサンプリングします。関連するメトリックの詳細については、「統計メトリック」をご参照ください。

いいえ

1

メリット:

  • サンプリングされた API データのみをレポートすることでコストを削減します。ignore パラメーターを設定して、監視が不要なデータを特定することを推奨します。詳細については、「ignore」をご参照ください。

  • データ収集のパフォーマンスオーバーヘッドを削減します。

説明:

  • この設定項目を設定して、パフォーマンスログと成功した API オペレーションに関するログをランダムに選択してレポートできます。これにより、レポートされるデータ量とワークロードが削減されます。ARMS がバックグラウンドでレポートされたログを処理する際、ARMS はサンプリング設定に基づいてデータを復元します。このようにして、JS エラー率や API 失敗率などのメトリックはサンプリングの影響を受けず、正確なままです。ただし、このパラメーターを設定すると、API の詳細などの詳細データが取得できなくなる場合があります。

  • sample のデフォルト値は 1 です。有効値は 1 から 100 までの整数です。サンプリングレートは 1/sample です。たとえば、1 は 100% のサンプリング、10 は 10% のサンプリング、100 は 1% のサンプリングを意味します。

警告

総データ量が少なく、ランダムサンプリングが実行される場合、統計結果に大きな偏差が生じる可能性があります。1 日の平均ページビュー (PV) が 100 万を超える Web サイトでこの設定項目を使用することを推奨します。

[トップに戻る]

pvSample

パラメーター

タイプ

説明

必須

デフォルト値

pvSample

Integer

PV ログのサンプリング設定を行います。値は 1 から 100 までの整数で、サンプリングレートは 1/pvSample です。

いいえ

1

メリット:

  • サンプリングされた PV データのみをレポートすることでコストを削減します。

  • データ収集のパフォーマンスオーバーヘッドを削減します。

説明:

  • この設定項目を設定して、PV ログをランダムに選択してレポートできます。これにより、レポートされるデータ量とワークロードが削減されます。ARMS がバックグラウンドでレポートされたログを処理する際、ARMS はサンプリング設定に基づいてデータを復元します。このようにして、JS エラー率などのメトリックはサンプリングの影響を受けず、正確なままです。

  • pvSample のデフォルト値は 1 です。サンプリングレートは 1/pvSample です。たとえば、1 は 100% のサンプリング、 10 は 10% のサンプリング、 100 は 1% のサンプリングを意味します。

[トップに戻る]

sendResource

sendResource

Boolean

ページ上の静的リソースをレポートします。

いいえ

false

sendResource パラメーターが true に設定されている場合、ページの load イベントがトリガーされると、ページ上の静的リソースがレポートされます。ページの読み込みが遅い場合、セッショントレースページでその静的リソースのウォーターフォール図を表示して原因を特定できます。

次のコードは、sendResource パラメーターを設定する方法の例を示しています。

<script>
!(function(c,b,d,a){c[a]||(c[a]={});c[a].config={pid:"xxxxxx",sendResource:true};
with(b)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("crossorigin","",src=d)
})(window,document,"https://sdk.rum.aliyuncs.com/v1/bl.js","__bl");
</script>            
説明

ページの読み込みが遅い問題をトラブルシューティングする場合、前のサンプルコードに示すように、configsendResource パラメーターを設定する必要があります。これにより、load イベントがトリガーされたときに静的リソースがレポートされます。setConfig メソッドを呼び出すと、load イベントが完了した後に静的リソースがレポートされる可能性があります。この場合、sendResource パラメーターは、ページの読み込みが遅い原因を特定するのに役立ちません。

[トップに戻る]

useFmp

useFmp

Boolean

ファーストスクリーン FMP (First Meaningful Paint、初回有効レンダリング) データを収集します。

いいえ

false

[トップに戻る]

enableLinkTrace

enableLinkTrace

Boolean

詳細については、「フロントツーバックトレースを使用して API エラーを診断する」をご参照ください。

いいえ (Web シナリオ、Alipay アプレット、WeChat アプレット、DingTalk アプレットでのみサポート)

false

[トップに戻る]

release

重要

ページの初期化中に configrelease を設定する必要があります。setConfig メソッドを呼び出さないでください。

release

String

アプリケーションのバージョンです。異なるバージョンのレポート情報を表示するために、このパラメーターを設定することを推奨します。

いいえ

undefined

[トップに戻る]

environment

environment

String

環境フィールドです。有効値:prod、gray、pre、daily、local。

  • 値 prod はオンライン環境を示します。

  • 値 gray は、段階的リリース環境を示します。

  • 値 pre はステージング環境を示します。

  • 値 daily は日常環境を示します。

  • 値 local はローカル環境を示します。

いいえ

prod

[トップに戻る]

behavior

behavior

Boolean

エラーを報告するユーザーの動作を記録して、トラブルシューティングを容易にするかどうかを指定します。

いいえ (Web およびミニプログラムシナリオでのみサポート)

ブラウザのデフォルト値は true で、ミニプログラムのデフォルト値は false です。

[トップに戻る]

autoSendPerf

autoSendPerf

Boolean

パフォーマンスログの自動送信を許可するかどうかを指定します。

いいえ

true

[トップに戻る]

c1\c2\c3

上記の設定項目に加えて、ARMS SDK は、ビジネス要件に合わせてフィールドを設定できる 3 つのカスタム設定項目を提供します。フィールドを設定すると、そのフィールド値はすべてのレポートされるログに含まれます。

c1

String

カスタムサービスフィールドです。各ログにこのフィールドが含まれます。

いいえ

なし

c2

String

カスタムサービスフィールドです。各ログにこのフィールドが含まれます。

いいえ

なし

c3

String

カスタムサービスフィールドです。各ログにこのフィールドが含まれます。

いいえ

なし

説明

c1\c2\c3 は、現在のカスタムページ上のすべてのレポートに含まれるデータです。通常、c1\c2\c3 はご利用のサービスに関連しています。JavaScript 用のブラウザ監視 SDK を初期化する際に、ユーザーの VIP レベルなど、データをクエリするための SDK パラメーターを指定できます。

[トップに戻る]