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

Application Real-Time Monitoring Service:ブラウザ監視 SDK の設定

最終更新日:Mar 12, 2026

ARMS ブラウザ監視 SDK は、データ収集とレポートを制御する設定項目を提供します。これらの項目を使用して、URL、API、JavaScript エラーをフィルタリングし、URL を正規化してページを集約し、サンプリングによってデータ量を削減します。

設定項目の設定方法

2 つの方法があります。

  • 初期化時 -- ページにブラウザ監視エージェントをインストールする際に、config にパラメーターを追加します。

  • 初期化後 -- __bl.setConfig(next) を呼び出して、ランタイムで設定を更新します。

初期化の例

このスニペットは、必須の pid と 3 つのオプションパラメーター (enableSPAsendResourcerelease) を使用してエージェントをインストールします。

<script>
!(function(c,b,d,a){c[a]||(c[a]={});c[a].config={
  pid: "<your-pid>",
  enableSPA: true,
  sendResource: true,
  release: "1.0.0"
};
with(b)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("crossorigin","",src=d)
})(window,document,"https://retcode.alicdn.com/retcode/bl.js","__bl");
</script>

setConfig によるランタイム更新

ページのロード後に設定を変更するには、__bl.setConfig(next) を呼び出します。

パラメーター必須説明
nextObjectはい更新する設定項目のキーと値のペア
__bl.setConfig({
    uid: "user-12345",
    tag: "checkout-flow"
});
重要

次のパラメーターは初期化時にのみ有効になり、setConfig では変更できません:disableHook および release


設定リファレンス

次の表は、機能別にグループ化されたすべての設定項目の一覧です。各項目については、以降のセクションで詳しく説明します。

アイデンティティ

パラメーターデフォルト説明
pidStringなしプロジェクト ID (必須)
uidString自動生成ユーザー識別子
setUsernameFunctionなしセッション追跡のためにユーザー名を返すコールバック

ページと URL

パラメーターデフォルト説明
pageStringhost + pathnameカスタムページ名
tagStringなしすべてのログエントリに付加されるカスタムタグ
ignoreUrlCaseBooleantrueページ URL のマッチングで大文字と小文字を区別しない
urlHelperString \RegExp \Object \Function \Array下記参照集約のためにページ URL を正規化する
apiHelperString \RegExp \Object \Function \Array下記参照集約のために API URL を正規化する

SPA サポート

パラメーターデフォルト説明
enableSPABooleanfalse各ルート変更時に PV を報告する
parseHashFunction下記参照URL ハッシュをページ名に変換する

データフィルタリング

パラメーターデフォルト説明
ignoreObject下記参照一致する URL、API、またはエラーのログ報告を抑制する
parseResponseFunction下記参照API 応答から msgcode を抽出する

サンプリング

パラメーターデフォルト説明
sampleInteger (1--100)1パフォーマンスログと成功した API ログのサンプリングレート
pvSampleInteger (1--100)1PV ログのサンプリングレート

パフォーマンスとリソースの追跡

パラメーターデフォルト説明
sendResourceBooleanfalseページにロードされた静的リソースを報告する
useFmpBooleanfalseFirst Meaningful Paint (FMP) データを収集する
autoSendPerfBooleantrueパフォーマンスログを自動的に送信する
disableHookBooleanfalseAJAX リクエストリスナーを無効にする

トレースと診断

パラメーターデフォルト説明
enableLinkTraceBooleanfalseフロントエンドからバックエンドへのトレースを有効にする
behaviorBooleanブラウザ:true、ミニプログラム:falseエラー発生前のユーザーアクションを記録する

アプリケーションのメタデータ

パラメーターデフォルト説明
releaseStringundefinedアプリケーションのバージョン文字列
environmentStringprodデプロイ環境ラベル
disabledBooleanfalseすべてのログ報告を無効にする

カスタムフィールド

パラメーターデフォルト説明
c1, c2, c3Stringなしすべてのログエントリに付加されるカスタムフィールド

ID

pid

プロパティ
String
必須はい
デフォルトなし

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

uid

プロパティ
String
必須はい (Weex)、いいえ (その他のシナリオ)
デフォルトWeex:なし、その他:SDK によって自動生成され、6 か月ごとに更新

個人ユーザーの検索と追跡のためのユーザー識別子です。カスタム値を指定するか、SDK に自動的に生成させることができます。

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

ミニプログラム監視では、setConfiguid を変更できません。代わりに setUsername を使用してください。

setUsername

プロパティ
Function
必須いいえ
デフォルトなし

ユーザー名文字列を返すコールバックです。設定すると、エンドツーエンドのセッション追跡と、トラブルシューティングのためのユーザー名によるセッション検索が可能になります。

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

動作:

  • ページのロード時にユーザー名が利用できない場合は、プレースホルダーではなく null を返します。SDK はログ送信時に再度 setUsername を呼び出します。プレースホルダーを返すと、その値が使用され、setUsername は再度呼び出されません。

  • setUsername は、ランタイムごとに 1 つの割り当てのみを受け付けます。再割り当てするには、アプリケーションを再起動してください。


ページと URL の設定

page

プロパティ
String
必須いいえ
デフォルト現在の URL のホスト + パス名

自動検出されたページ名をカスタム値でオーバーライドします。

説明

ignoreErrors プロパティを使用して、報告したいエラーをフィルタリングできます。詳細については、「ignore」をご参照ください。

tag

プロパティ
String
必須いいえ
デフォルトなし

すべてのログエントリに付加されるカスタムタグです。ARMS コンソールでログを分類またはフィルタリングするためにタグを使用します。

ignoreUrlCase

プロパティ
Boolean
必須いいえ
デフォルトtrue

true に設定すると、ページ URL のマッチングで大文字と小文字が区別されません。

urlHelper

プロパティ
String \RegExp \Object\ \Function \Array
必須いいえ
デフォルト下記参照

動的セグメントを削除してページ URL を正規化し、類似のページが 1 つのエントリに集約されるようにします。非推奨の ignoreUrlPath パラメーターを置き換えます。

URL を正規化する理由:example.com/projects/123456 のような URL は、プロジェクト ID ごとに一意のページ名を生成します。urlHelper は動的セグメントを削除するため、すべてのプロジェクトページが example.com/projects/** として集約されます。

デフォルト値:

[
    // 2〜20文字の数字シーケンスを ** に置き換える
    {rule: /\/([a-z\-_]+)?\d{2,20}/g, target: '/$1**'},
    // 末尾のスラッシュを削除する
    /\/$/
]

サポートされている値の型:

動作
String または RegExp一致した部分文字列は削除されます
Object {rule, target}次のように動作します。String.replace(rule, target)
Function元の URL を受け取り、ページ名を返します
Array複数のルールを順番に適用します。各要素は上記のいずれかの型にすることができます
重要
  • ignoreUrlPathurlHelper の両方が設定されている場合、urlHelper が優先されます。

  • urlHelper は、ページ URL が自動検出された場合にのみ適用されます。setPagesetConfig、または enableSPA: true がページ名をオーバーライドする場合は効果がありません。詳細については、「SDK メソッド」をご参照ください。

apiHelper

プロパティ
String \RegExp \Object\ \Function \Array
必須いいえ
デフォルト{rule: /(\w+)\/\d{2,}/g, target: '$1'}

urlHelper がページ URL を正規化するのと同じ方法で、動的セグメントを削除して API URL を正規化します。非推奨の ignoreApiPath パラメーターを置き換えます。

重要

ignoreApiPathapiHelper の両方が設定されている場合、apiHelper が優先されます。

API データでのクエリパラメーターの報告:クエリパラメーター (例:https://arms.console.aliyun.com/apm?pid=fr6fbgbeotpid) を含めるには、ignore パラメーターで自動報告を無効にし、api() を手動で呼び出します。詳細については、「api()」をご参照ください。


SPA サポート

enableSPA

プロパティ
Boolean
必須いいえ (Web のみ)
デフォルトfalse

hashchange イベントをリッスンし、各ルート変更時に新しいページビュー (PV) を報告します。シングルページアプリケーション (SPA) ではこれを有効にしてください。

parseHash

プロパティ
Function
必須いいえ
デフォルト下記参照

enableSPA と一緒に使用します。enableSPAtruehashchange イベントが発生すると、parseHash は URL ハッシュを Page フィールドのページ名に変換します。詳細については、「SPA のページデータ報告」をご参照ください。

デフォルト値:

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

通常、デフォルトで十分です。ハッシュをカスタムページ名にマッピングするには、この関数をオーバーライドします。

var PAGE_MAP = {
    '/': 'Homepage',
    '/contact': 'Contact us',
    '/list': 'Data list'
};

window.addEventListener('load', function (e) {
    __bl.setConfig({
        parseHash: function (hash) {
            var key = hash.replace(/\?.*$/, '');
            return PAGE_MAP[key] || 'Unknown page';
        }
    });
});

データフィルタリング

ignore

プロパティ
Object
必須いいえ
デフォルト{ignoreUrls: [], ignoreApis: [], ignoreErrors: [], ignoreResErrors: []}

指定されたルールに一致する URL、API、JavaScript エラー、またはリソースエラーのログ報告を抑制します。4 つのサブプロパティが含まれています。

各サブプロパティは、String、RegExp、Function、またはこれらの型の配列を受け付けます。

ignoreUrls

一致するページ URL からのログを抑制します。

__bl.setConfig({
    ignore: {
        ignoreUrls: [
            'http://host1/',                     // 完全な文字列一致
            /.+?host2.+/,                        // 正規表現一致
            function(str) {                      // カスタム関数
                if (str && str.indexOf('host3') >= 0) {
                    return true;   // 抑制
                }
                return false;      // 報告
            }
        ]
    }
});

ignoreApis

一致する API URL からのログを抑制します。

__bl.setConfig({
    ignore: {
        ignoreApis: [
            'api1', 'api2', 'api3',              // 文字列一致
            /^random/,                            // 正規表現一致
            function(str) {                       // カスタム関数
                if (str && str.indexOf('api3') >= 0) return true;
                return false;
            }
        ]
    }
});

ignoreErrors

一致する JavaScript エラーメッセージを抑制します。

__bl.setConfig({
    ignore: {
        ignoreErrors: [
            'test error',                         // 文字列一致
            /^Script error\.?$/,                  // 正規表現一致
            function(str) {                       // カスタム関数
                if (str && str.indexOf('Unknown error') >= 0) return true;
                return false;
            }
        ]
    }
});

ignoreResErrors

一致するリソース読み込みエラーを抑制します。

__bl.setConfig({
    ignore: {
        ignoreResErrors: [
            'http://xx/picture.jpg',              // 文字列一致
            /jpg$/,                               // 正規表現一致
            function(str) {                       // カスタム関数
                if (str && str.indexOf('xx.jpg') >= 0) return true;
                return false;
            }
        ]
    }
});

parseResponse

プロパティ
Function
必須いいえ
デフォルト下記参照

自動報告中に API 応答データを解析します。応答オブジェクトから msgcode を抽出します。

デフォルト値:

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};
}

API 応答が異なる構造を使用している場合は、この関数をオーバーライドしてください。


サンプリング

sample

プロパティ
Integer
必須いいえ
デフォルト1
範囲1--100

パフォーマンスログと成功した API ログのサンプリングレートを制御します。サンプリングレート = 1 / sample です。

サンプリングレート
1100% (すべてのデータ)
1010%
1001%

サンプリングはデータ量と収集のオーバーヘッドを削減します。コストを削減するために、ignore パラメーターを使用して、監視が不要なデータの報告を停止することもできます。詳細については、「ignore」をご参照ください。

ARMS は処理中にサンプリングを補正するため、JS エラー率や API 失敗率などの集約メトリックは正確なままです。ただし、個々のログの詳細は失われる可能性があります。

影響を受けるメトリックの詳細については、「統計メトリック」をご参照ください。

警告

トラフィックの少ないサイトでのランダムサンプリングは、大きな統計的偏差を引き起こします。このパラメーターは、1 日のページビューが 100 万を超えるサイトでのみ使用してください。

pvSample

プロパティ
Integer
必須いいえ
デフォルト1
範囲1--100

ページビュー (PV) ログのサンプリングレートを制御します。sample と同じ数式です:サンプリングレート = 1 / pvSample

ARMS は処理中にサンプリングを補正するため、JS エラー率などの集約メトリックは正確なままです。


パフォーマンスとリソースの追跡

sendResource

プロパティ
Boolean
必須いいえ
デフォルトfalse

true に設定すると、load イベントでページにロードされたすべての静的リソースを報告します。セッショントレースのウォーターフォール図を使用して、ページのロードが遅い原因となっているリソースを特定します。

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

sendResource は、setConfig ではなく、初期化時に config で設定してください。setConfig を呼び出すと、load イベントが完了した後に実行される可能性があり、その時点では静的リソースデータは利用できなくなっています。

useFmp

プロパティ
Boolean
必須いいえ
デフォルトfalse

ファーストスクリーンレンダリング分析のために、First Meaningful Paint (FMP) データ収集を有効にします。

autoSendPerf

プロパティ
Boolean
必須いいえ
デフォルトtrue

パフォーマンスログを自動的に送信するかどうかを制御します。

disableHook

プロパティ
Boolean
必須いいえ
デフォルトfalse

AJAX リクエストリスナーを無効にします。デフォルトでは、SDK は API の成功率を報告するために AJAX 呼び出しをインターセプトします。

重要

このパラメーターは初期化時にのみ有効です。


トレースと診断

enableLinkTrace

プロパティ
Boolean
必須いいえ (Web、Alipay ミニプログラム、WeChat ミニプログラム、DingTalk ミニプログラムのみ)
デフォルトfalse

フロントからバックへのトレースを有効にし、ブラウザリクエストをサーバー側のトレースと関連付けます。詳細については、「フロントからバックへのトレース機能を使用して API エラーを診断する」をご参照ください。

behavior

プロパティ
Boolean
必須いいえ (Web およびミニプログラムのみ)
デフォルトブラウザ:true、ミニプログラム:false

エラーに至るまでの一連のユーザーアクションを記録し、トラブルシューティングを支援します。


アプリケーションのメタデータ

release

プロパティ
String
必須いいえ
デフォルトundefined

アプリケーションのバージョン文字列です。これを設定して、異なるリリース間でモニタリングデータを比較します。

重要

release は、初期化時に config で設定してください。setConfig は使用しないでください。

environment

プロパティ
String
必須いいえ
デフォルトprod

デプロイ環境ラベルです。有効な値:

環境
prod本番
gray段階的リリース
preステージング
dailyデイリー / 開発
localローカル

disabled

プロパティ
Boolean
必須いいえ
デフォルトfalse

true に設定すると、すべてのログ報告が無効になります。


カスタムフィールド

c1, c2, c3

プロパティ
String
必須いいえ
デフォルトなし

すべてのログエントリに付加される 3 つのカスタムフィールドです。ユーザーの VIP レベル、A/B テストグループ、機能フラグなど、ビジネス固有のデータを保持します。

__bl.setConfig({
    c1: "premium",
    c2: "experiment-group-B",
    c3: "feature-darkmode"
});
説明

c1c2c3 に設定された値は、現在のページから報告されるすべてのログに含まれます。