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

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

最終更新日:Aug 28, 2026

Application Real-Time Monitoring Service (ARMS) のミニプログラム向けリアルユーザーモニタリング (RUM) SDK では、お客様のビジネス要件に応じて、多様なカスタム設定を提供しています。このトピックでは、参考のために、ミニプログラムの一般的な SDK 設定について説明します。

SDK 設定

パラメーター

タイプ

説明

必須

デフォルト値

pid

文字列

ミニプログラムの ID です。

はい

-

endpoint

文字列

モニタリングデータの報告先アドレスです。

はい

-

env

-

アプリケーション環境:

  • prod:本番環境

  • Gray:グレースケール環境

  • pre:プレリリース環境

  • daily:デイリー環境

  • local:ローカル環境

いいえ

prod

version

文字列

ミニプログラムのバージョンです。

いいえ

-

user

オブジェクト

ユーザー設定です。SDK はデフォルトで user.id を生成します。

いいえ

-

collectors

オブジェクト

コレクター の設定です。

いいえ

-

beforeReport

関数

データをレポートする前に呼び出され、レポートされるデータを変更またはブロックする関数です。

いいえ

-

reportConfig

オブジェクト

レポート設定です。詳細については、「reportConfig 設定」をご参照ください。

いいえ

{

flushTime: 3000,

maxEventCount: 20

}

sessionConfig

オブジェクト

セッションのサンプリングレートとタイムアウト設定です。詳細については、「sessionConfig パラメーター」をご参照ください。

いいえ

-

longTaskConfig

オブジェクト

スタッターレポートの最大数とスタッターを判定する時間のしきい値の設定です。詳細については、「longTaskConfig 設定」をご参照ください。

いいえ

{

maxEventCount: 5,

renderThreshold: 50

}

parseViewName

関数

ビュー名 (view.name) を解析する関数です。入力パラメーターはページの URL です。

いいえ

-

parseResourceName

関数

リソース名 (resource.name) を解析する関数です。入力パラメーターはリソースの URL です。

いいえ

-

evaluateApi

関数

API イベントを解析する関数です。詳細については、「evaluateApi パラメーター」をご参照ください。

いいえ

-

filters

オブジェクト

イベントフィルタリング設定です。詳細については、「filters パラメーター」をご参照ください。

いいえ

-

properties

オブジェクト

すべてのイベントで有効なカスタムプロパティです。詳細については、「properties パラメーター」をご参照ください。

いいえ

-

remoteConfig

オブジェクト

動的設定です。詳細については、「動的設定」をご参照ください。

いいえ

-

ユーザー構成

パラメーター

説明

必須

デフォルト値

id

文字列

ユーザー ID です。SDK によって生成されます。通常、この値は変更しません。

いいえ

SDK によって生成されるデフォルト ID

tags

文字列

タグです。

いいえ

-

name

文字列

ユーザー名です。

いいえ

-

説明

独自のアカウントシステムを使用する場合は、ユーザー ID (user.id) ではなく、ユーザー名 (user.name) またはタグ (user.tags) を変更することを推奨します。ユーザー ID を上書きすると、ユニーク訪問者 (UV) データに影響します。

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  user: {
    name: getYourUserName(),
    tags: getYourTags(),
  }
});

reportConfig パラメーター

パラメーター

タイプ

説明

必須

デフォルト値

flushTime

Number

データを報告する間隔です。

有効な値: 0~10000。

単位:ミリ秒 (ms)。

任意

3000

maxEventCount

Number

一度に報告するデータエントリの最大数です。

有効な値: 1~100。

任意

20

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  reportConfig: {
    flushTime: 0, // データを直ちに報告します。
    maxEventCount: 50 // 一度に報告するデータエントリの最大数を指定します。
  }
});

sessionConfig 設定

パラメーター

タイプ

説明

必須

デフォルト値

sampleRate

Number

サンプリングレート。有効な値:0~1。

0.5 は、50% のサンプリングレートを示します。

No

1

maxDuration

Number

セッションの最大継続時間。単位:ミリ秒。デフォルト値:86400000 (24 時間)。

No

86400000

overtime

Number

セッションのタイムアウト時間。単位:ミリ秒。デフォルト値:1800000 (30 分)。

No

1800000

ユーザー ID とセッション情報は、ミニプログラムのローカルキャッシュに保存されます:

  • _arms_uid:一意のユーザー ID (user.id)。

  • _arms_session:セマンティックなセッション情報。この値は、ハイフン (-) で区切られた文字列で、形式は ${sessionId}-${sampled}-${startTime}-${lastTime} です。各フィールドの説明は次のとおりです。

    • sessionId:一意のセッション ID。

    • sampled:サンプリングがトリガーされたかどうかを示します。

    • startTime:セッションの開始タイムスタンプ。

    • lastTime:セッションが最後にアクティブだったときのタイムスタンプ。

`${sessionId}-${sampled}-${startTime}-${lastTime}`

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  sessionConfig: {
    sampleRate: 0.5, // サンプリングレートを 50% に指定します。 
    maxDuration: 86400000,
    overtime: 3600000,
  },
});

longTaskConfig 設定

パラメーター

タイプ

説明

必須

デフォルト値

maxEventCount

Number

単一のページビュー (PV) でカクつきデータをレポートできる最大回数です。

有効な値: [1, 5]。

いいえ

5

renderThreshold

Number

setData のカクつきを判断する時間しきい値です。最小値は 50 です。単位:ミリ秒。

いいえ

50

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  longTaskConfig: {
    maxEventCount: 4, // 単一の PV 内でカクつきデータを最大 4 回レポートします。
    renderThreshold: 100, // 100 ミリ秒を超える setData 操作を、カクつきと見なします。
  },
});

collectors パラメーター

SDK は、api などのコレクターを使用して、ページモニタリングデータを収集します。

パラメーター

タイプ

説明

必須

デフォルト値

api

ブール値 | オブジェクト

API リクエストを追跡します。

いいえ

true

jsError

ブール値 | オブジェクト

JavaScript エラーを追跡します。

いいえ

true

consoleError

ブール値 | オブジェクト

console.error がスローするエラーを追跡します。

いいえ

true

action

ブール値 | オブジェクト

ユーザーの行動を追跡します。

いいえ

true

longTask

ブール値 | オブジェクト

ページのスタッタリングを監視します。

いいえ

true

ユーザーのクリック行動のリスナーを無効にします。

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  collectors: {
    action: false,
  }
});

evaluateApi パラメータ

evaluateApi 関数は、request や httpRequest イベントなど、API イベントのカスタム解析を提供します。

パラメータ

タイプ

説明

options

Object

url、headers、data を含むリクエストパラメータです。パラメータはリクエストメソッドによって異なります。

response

Object

リクエストのレスポンスボディです。

error

Error

エラーです。このパラメータはオプションで、リクエストが失敗した場合にのみ渡されます。

この関数は非同期で呼び出すことができます。Promise<IApiBaseAttr> を返します。次の表で IApiBaseAttr について説明します。

パラメータ

タイプ

説明

必須

name

String

API 名。通常は集約 URL で、最大 1,000 文字です。

たとえば、URL が /list/123 の場合、集約後の name パラメータは /list/$id として表示されます。

重要

このパラメータは、parseResourceName 関数の戻り値よりも優先されます。

No

message

String

API の情報。API を説明する簡潔な文字列で、最大 1,000 文字です。

No

success

Number

リクエストが成功したかどうかを示します:

  • 1:成功

  • 0:失敗

  • -1:不明

No

duration

Number

API の応答時間です。

No

status_code

Number | String

ステータスコードです。

No

snapshots

String

API スナップショットです。

説明

スナップショットは、reqHeaders、params、resHeaders に関する情報を保存します。スナップショットを構成するフィールドはカスタマイズできます。スナップショットは主に例外のトラブルシューティングに使用します。スナップショットにはインデックスがないため、クエリまたは集約のフィルター条件として設定できません。最大 5,000 文字の文字列です。

No

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  evaluateApi: async (options, response, error) => {
    const respText = JSON.stringify(response);

    // 返されるフィールドはデフォルト値を上書きします。フィールドが返されない場合は、デフォルト値が使用されます。
    return {
      name: 'my-custom-api',
      success: error ? 0 : 1,
      snapshots: JSON.stringify({
        params: 'page=1&size=10', // 入力パラメータ。
        response: respText.substring(0, 2000), // 戻り値。
        reqHeaders: '', // リクエストヘッダー。
        resHeaders: '' // レスポンスヘッダー。
      })
    }
  }
});

filters パラメーター

filters パラメーターは、報告が不要なリソースイベントおよび例外イベントを除外します。

パラメーター

タイプ

説明

必須

resource

MatchOption | MatchOption[]

静的リソースおよび API (XMLHttpRequest/フェッチ) を含む、収集したリソースイベントをフィルターします。

いいえ

exception

MatchOption | MatchOption[]

収集した例外イベントをフィルターします。

いいえ

MatchOption

type MatchOption = string | RegExp | ((value: string) => boolean);
  • 文字列: フィルターの対象となる値 (URL またはエラーメッセージ) が、指定した文字列で始まる場合に一致します。たとえば、resource フィルターで https://api.alibabacloud.com を指定すると、https://api.alibabacloud.com/v1/resource という URL に一致します。

  • RegExp: 指定された正規表現に値 (URL またはエラーメッセージ) が一致するかどうかをテストします。

  • 関数: 値 (URL またはエラーメッセージ) が一致するかどうかを判断する関数を使用します。true が返された場合、その値は一致したと判断されます。

入力が MatchOption[] の場合、前述の条件が順番に評価され、いずれかの条件に一致すると除外されます。

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  filters: {
    // 例外イベントを除外します。
    exception: [
      'Test error', // 'Test error' で始まるエラーメッセージをフィルターします。
      /^Script error\.?$/, // 正規表現でフィルターします。
      (msg) => {
        return msg.includes('example-error');
      },
    ],
    // リソースまたは API イベントを除外します。
    resource: [
      'https://example.com/', // 'https://example.com/' で始まるリソースをフィルターします。
      /localhost/i,
      (url) => {
        return url.includes('example-resource');
      },
    ],
  },
});

プロパティパラメーター

RUM が提供するプロパティは、すべてのイベントに設定できます。

パラメーター

タイプ

説明

必須

[key: string]

文字列 | Number

  • キーは JSON 仕様に準拠した文字列である必要があります。キーの最大長は 50 文字です。超過した部分は切り捨てられます。

  • 値が文字列の場合、最大長は 2,000 文字です。超過した部分は切り捨てられます。値が文字列でも数値でもない場合、そのキーと値のペアは削除されます。

任意

evaluateApisendCustomsendException、および sendResource を使用して、イベントにプロパティを追加できます。プロパティはそのイベントにのみ有効になります。

グローバルプロパティとイベントプロパティは、保存時にマージされます。イベントプロパティはグローバルプロパティよりも優先度が高くなります。イベントプロパティのキーがグローバルプロパティのキーと同じ場合、イベントプロパティがグローバルプロパティを上書きします。マージ後のキーと値のペアの数は 20 個を超えることはできません。20 個を超えた場合、ペアはキーに基づいてソートされ、超過分は削除されます。

グローバルに設定されたプロパティは、報告されるすべてのイベントに付加されます。

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  properties: {
    prop_string: 'xx',
    prop_number: 2,
    // キーまたは値の長さが制限を超えた場合、超過した部分は切り捨てられます。
    more_than_50_key_limit_012345678901234567890123456789: 'yy',
    more_than_2000_value_limit: new Array(2003).join('1'),
    // 以下の無効なキーと値のペアは削除されます。
    prop_null: null,
    prop_undefined: undefined,
    prop_bool: true,
  },
});

動的設定

RUM は、SDK のデータ収集およびレポーティング設定の動的配信をサポートしています。SDK は、アプリケーションの起動時にこれらの設定を動的に読み込みます。これらの設定は、SDK 初期化時に設定された静的設定を項目ごとに上書きします。この機能は、コンソールと SDK の 2 つの部分で実装されています。

コンソール設定

まず、コンソールで設定を構成する必要があります。[Application Settings] > [SDK Configuration] に移動します。設定を完了してテストした後、[Confirm and Update Dynamic Configuration] をクリックします。これにより、設定がリモート OSS エンドポイントにプッシュされて保存されます。

SDK 設定

動的設定の配信をサポートするには、SDK 初期化設定に remoteConfig フィールドを追加します。初期化時に、SDK はこのフィールドを使用して OSS からリモート設定を取得し、取得した設定に基づいてプローブやレポーティングなどの機能を更新します。

import ArmsRum from '@arms/rum-miniapp';

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  remoteConfig: {
    // Web アプリケーションが配置されているリージョン。例: Singapore は ap-southeast-1
    region: "cn-hangzhou"
  }
});

SDK がリモート設定を取得すると、すぐに機能を更新し、設定をローカルキャッシュに保存します。これにより、次回の初期化時に SDK がローカルにキャッシュされた設定を優先的に使用できるようになります。

SDK バージョンは 0.0.37 以降である必要があります。

その他の設定

RUM SDK では、IP アドレスとユーザーエージェントに基づいて解決される共通のプロパティを設定できます。事前に設定されたパラメーターは、自動的に解決されるパラメーターよりも優先されます。

パラメーター

タイプ

説明

必須

device

Object

デバイス情報です。

いいえ

os

Object

OS 情報です。

いいえ

geo

Object

行政区分情報です。

いいえ

isp

Object

ISP 情報です。

いいえ

net

Object

ネットワーク情報です。

いいえ

前述のパラメーターに関する設定項目の詳細については、「共通属性」をご参照ください。

ArmsRum.init({
  pid: "your app id",
  endpoint: "your endpoint",
  geo: {
    country: 'your custom country info',
    city: 'your custom city info',
  },
});

SDK API

SDK は、カスタムデータの変更や報告、SDK 設定を動的に変更するための API を提供します。

getConfig

この関数で SDK 設定を取得できます。

setConfig

SDK 設定を変更できます。

// 特定のキーを設定
ArmsRum.setConfig('env', 'pre');

// 以下の設定を上書き
const config = ArmsRum.getConfig();
ArmsRum.setConfig({
  ...config,
  version: '1.0.0',
  env: 'pre',
});

sendCustom

カスタムデータを報告するには、typename パラメーターを指定する必要があります。データ報告に関連するパラメーターを次の表に示します。ビジネスセマンティクスを定義する必要があります。

パラメーター

タイプ

説明

必須

type

文字列

タイプ。

はい

name

文字列

名前。

はい

group

文字列

グループ。

いいえ

value

Number

値。

いいえ

properties

オブジェクト

カスタムプロパティ。

いいえ

ArmsRum.sendCustom({
  // 必須
  type: 'CustomEvnetType1',
  name: 'customEventName2',
  // オプション
  group: 'customEventGroup3',
  value: 111.11,
  properties: {
    prop_msg: 'custom msg',
    prop_num: 1,
  },
});

sendException

カスタム例外データを報告するには、namemessage パラメーターを指定する必要があります。

パラメーター

タイプ

説明

必須

name

文字列

例外名。

はい

message

文字列

例外情報。

はい

file

文字列

例外が発生したファイル。

いいえ

stack

文字列

例外に関するスタック情報。

いいえ

line

Number

例外が発生した行番号。

いいえ

column

Number

例外が発生した列番号。

いいえ

properties

オブジェクト

カスタムプロパティ。

いいえ

ArmsRum.sendException({
  // 必須
  name: 'customErrorName',
  message: 'custom error message',
  // オプション
  file: 'custom exception filename',
  stack: 'custom exception error.stack',
  line: 1,
  column: 2,
  properties: {
    prop_msg: 'custom msg',
    prop_num: 1,
  },
});

sendResource

カスタムリソースデータを報告するには、nametypeduration パラメーターを指定する必要があります。

パラメーター

タイプ

説明

必須

name

文字列

リソース名。

はい

type

文字列

リソースタイプ。例:scriptapiimageother

はい

duration

Number

リクエストの所要時間。

はい

success

Number

リクエストが成功したかどうかを示します。

  • 1:成功

  • 0:失敗

  • -1:不明

いいえ

method

文字列

リクエストメソッド。

いいえ

status_code

Number | 文字列

リクエストのステータスコード。

いいえ

message

文字列

リクエストメッセージ。

いいえ

url

文字列

リクエストアドレス。

いいえ

trace_id

文字列

トレース ID。

いいえ

properties

オブジェクト

カスタムプロパティ。

いいえ

ArmsRum.sendResource({
  // 必須
  name: 'getListByPage',
  type: 'api',
  duration: 800,
  // オプション
  message: 'success',
  url: 'https://www.aliyun.com/data/getListByPage',
  properties: {
    prop_msg: 'custom msg',
    prop_num: 1,
  },
});