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

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

最終更新日:Jun 26, 2026

Cloud Monitor リアルユーザーモニタリング (RUM) Electron SDK のすべての設定オプションと API の一覧です。設定オブジェクトを armsRum.init() に渡して SDK を初期化します。

SDK 設定 (基本)

パラメーター

説明

必須

デフォルト

endpoint

string

データ報告のエンドポイント URL。

はい

-

enable

boolean

SDK の有効化/無効化。

いいえ

true

env

‘prod’ | ‘gray’ | ‘pre’ | ‘daily’ | ‘local’ | string

アプリケーションの環境。

いいえ

-

version

string

アプリケーションのバージョン。

いいえ

-

endpoint パラメーターは必須で、完全なエンドポイント URL を指定する必要があります。この URL は、アプリケーションを作成した後に Cloud Monitor 2.0 コンソールの [Real User Monitoring] > [application list] から取得できます。

import armsRum from '@arms/rum-electron';

armsRum.init({
  endpoint: '<YOUR-ENDPOINT>',
  enable: true,
  env: 'prod',
  version: '1.0.0',
});

アプリケーション設定

app オブジェクトは、Cloud Monitor 2.0 コンソールで異なるディメンションに基づいてデータをフィルタリングおよび集計するための拡張アプリケーションメタデータを提供します。

パラメーター

説明

必須

デフォルト

app

object

拡張アプリケーション情報。

いいえ

-

app.name

string

アプリケーション名。

いいえ

-

app.version

string

アプリケーションのバージョン。

いいえ

-

app.channel

string

リリースチャネル。

いいえ

-

app.env

string

アプリケーションの環境。

いいえ

-

app.type

string

アプリケーションタイプ。

いいえ

-

app.package

string

パッケージ名。

いいえ

-

app.framework

string

技術フレームワーク。

いいえ

-

armsRum.init({
  endpoint: '<YOUR-ENDPOINT>',
  app: {
    name: 'MyElectronApp',
    version: '2.1.0',
    channel: 'stable',
    env: 'prod',
    type: 'electron',
    package: 'com.example.my-app',
    framework: 'react',
  },
});

ユーザー設定

user オブジェクトは現在のユーザーを識別し、Cloud Monitor 2.0 コンソールでユーザーレベルのトラブルシューティングを可能にします。

パラメーター

説明

必須

デフォルト

user

object

ユーザー情報。

いいえ

-

user.name

string

ユーザー名。

いいえ

-

user.tags

string

ユーザーに関連付けられたタグ。

いいえ

-

armsRum.init({
  endpoint: '<YOUR-ENDPOINT>',
  user: {
    name: 'test-user',
    tags: 'vip,enterprise',
  },
});

sessionConfig 設定

sessionConfig オプションは、セッションのサンプリングとライフサイクルポリシーを制御します。

パラメーター

説明

必須

デフォルト

sampleRate

number

セッションのサンプリングレート (0~1)。

いいえ

1

maxDuration

number

セッションの最大継続時間 (ミリ秒)。

いいえ

-

overtime

number

セッションの非アクティブタイムアウト (ミリ秒)。

いいえ

-

sampleRate は 0~1 の数値である必要があります。値が 1 の場合はセッションの 100% をキャプチャし、0.1 の場合は 10% をキャプチャします。サンプリングレートを下げると、データ量とコストを削減できます。

armsRum.init({
  endpoint: '<YOUR-ENDPOINT>',
  sessionConfig: {
    sampleRate: 1,
    maxDuration: 4 * 60 * 60 * 1000,  // セッションは最大 4 時間継続します
    overtime: 30 * 60 * 1000,          // 非アクティブ状態が 30 分続くとセッションがタイムアウトします
  },
});

collectors 設定 (メインプロセス)

collectors オプションは、各メインプロセスのコレクターを有効または無効にします。各コレクターは、きめ細かな制御のために boolean または ICollectorConfig オブジェクトを受け取ります。

パラメーター

説明

必須

デフォルト

jsError

boolean | ICollectorConfig

未補足の例外と Promise 拒否のキャプチャ。

いいえ

true

consoleError

boolean | ICollectorConfig

console.error 呼び出しのインターセプトと報告。

いいえ

true

crash

boolean | ICollectorConfig

ネイティブクラッシュのキャプチャ。

いいえ

true

api

boolean | ICollectorConfig

API リクエストの監視。

いいえ

true

application

boolean | ICollectorConfig

アプリケーションの起動メトリクス。

いいえ

true

crash コレクターは Electron の crashReporter モジュールを使用して、メインプロセスとレンダラープロセスの両方でネイティブクラッシュをキャプチャし、WASM を使用したミニダンプファイルの解析に対応しています。

armsRum.init({
  endpoint: '<YOUR-ENDPOINT>',
  collectors: {
    jsError: true,
    consoleError: false,
    crash: true,
    api: {
      enable: true,
      // ICollectorConfig では、フィルターやその他のオプションをさらに設定できます
    },
    application: true,
  },
});

browserCollectors 設定 (レンダラープロセス)

説明

この設定は autoInject: true の場合にのみ有効です。autoInjectfalse の場合は、ブラウザ SDK 内でレンダラープロセスのコレクターを個別に設定する必要があります。

browserCollectors オプションは、レンダラープロセスのブラウザ SDK に自動注入されるコレクターを設定します。各コレクターは boolean または ICollectorConfig オブジェクトを受け取ります。

パラメーター

説明

必須

デフォルト

perf

boolean | ICollectorConfig

ページロードパフォーマンスメトリクスの収集。

いいえ

true

webvitals

boolean | ICollectorConfig

コアウェブバイタル (LCP、FID、CLS)。

いいえ

true

exception

boolean | ICollectorConfig

未補足の例外と Promise 拒否。

いいえ

true

whiteScreen

boolean | ICollectorConfig

ホワイトスクリーン検出。

いいえ

true

api

boolean | ICollectorConfig

HTTP リクエスト (XHR と Fetch) の監視。

いいえ

true

staticResource

boolean | ICollectorConfig

静的リソースの読み込み監視。

いいえ

true

click

boolean | ICollectorConfig

ユーザーのクリックイベント。

いいえ

true

longTask

boolean | ICollectorConfig

ロングタスク検出 (>50 ms)。

いいえ

true

armsRum.init({
  endpoint: '<YOUR-ENDPOINT>',
  autoInject: true,
  browserCollectors: {
    perf: true,
    webvitals: true,
    exception: true,
    whiteScreen: true,
    api: true,
    staticResource: true,
    click: false,       // クリックイベントの収集を無効化
    longTask: true,
  },
});

tracing 設定

tracing オプションは分散トレーシングを設定します。boolean を渡して有効または無効にするか、詳細設定のために ITracingOption オブジェクトを渡します。

パラメーター

説明

必須

デフォルト

enable

boolean

分散トレーシングの有効化/無効化。

いいえ

false

sample

number

サンプリングレート (0~1)。

いいえ

-

propagatorTypes

Array<string>

伝播プロトコルのタイプ。対応する値: tracecontextb3b3multijaegersw8

いいえ

-

allowedUrls

Array<MatchOption | TraceOption>

トレースヘッダーを注入する URL パターン。

いいえ

-

tracestate

boolean

tracestate を含めるかどうかの指定。

いいえ

false

baggage

boolean

バゲージを含めるかどうかの指定。

いいえ

false

propagatorTypes は複数の伝播プロトコルに対応しています。バックエンドで使用しているトレーシングシステムに基づいてプロトコルを選択してください。allowedUrls は文字列または正規表現の一致をサポートします。トレースヘッダーは一致するリクエストにのみ注入されます。

armsRum.init({
  endpoint: '<YOUR-ENDPOINT>',
  tracing: {
    enable: true,
    sample: 0.5,
    propagatorTypes: ['tracecontext', 'b3'],
    allowedUrls: [
      'https://api.example.com',
      /\/api\/v\d+\//,
    ],
    tracestate: true,
    baggage: false,
  },
});

その他の設定

パラメーター

説明

必須

デフォルト

autoInject

boolean

すべての BrowserWindow インスタンスにブラウザ SDK を自動注入するかどうか。

いいえ

true

partition

string

カスタムの Electron セッションパーティション。

いいえ

-

spaMode

boolean | ‘auto’ | ‘hash’ | ‘history’

SPA (シングルページアプリケーション) トラッキングのルーティングモード。

いいえ

false

evaluateApi

Function

API リクエストを解析するためのカスタムコールバック。

いいえ

-

parseViewName

Function

ページビュー名を解析するためのカスタム関数。

いいえ

-

beforeReport

Function

報告前にデータを変更または破棄するためのコールバック。

いいえ

-

properties

Record<string, number | string>

グローバルなカスタムプロパティ。

いいえ

-

重要

デフォルトでは、autoInjecttrue です。つまり、SDK は各 BrowserWindow のレンダラープロセスにブラウザ SDK を自動注入します。これを false に設定した場合は、各レンダラープロセスでブラウザ SDK を手動でインポートして初期化する必要があります。

// レンダラープロセスで手動で初期化します
import armsRum from '@arms/rum-electron/browser';
armsRum.init({ endpoint: '<YOUR-ENDPOINT>' });
armsRum.init({
  endpoint: '<YOUR-ENDPOINT>',
  autoInject: true,
  partition: 'persist:main',
  spaMode: 'hash',
  parseViewName: (url: string) => {
    // ページビュー名を解析するためのカスタムロジック
    const match = url.match(/\/app\/([^/?#]+)/);
    return match ? match[1] : url;
  },
  beforeReport: (bundle: any) => {
    // 変更したデータを返すと報告を継続します
    // null または undefined を返すとデータを破棄します
    console.log('beforeReport', bundle);
    return bundle;
  },
  properties: {
    department: 'engineering',
    region: 'cn-hangzhou',
  },
});
  • partition オプションを使用して、カスタムの Electron セッションパーティションを指定します。BrowserWindowpartition 設定を使用している場合は、対応するセッションに対してプリロードスクリプトが正しく登録されるように、ここでも同じ値を指定する必要があります。

  • spaMode の値は次のとおりです。

    • false :SPA のルートトラッキングを無効にします。これはデフォルトの動作で、フルページロードのみをトラッキングします。

    • true または 'auto' :ルーティングモードを自動検出します。pathname の変更よりも hash の変更を優先します。

    • 'hash' :hash ルーティングモード (例:React HashRouter)。

    • 'history' :History API ルーティングモード (例:React BrowserRouter)。

SDK API

armsRum.init(config)

SDK を初期化します。このメソッドは app.ready イベントが発行される前に呼び出す必要があります。

init(config: IElectronConfig): Promise<ArmsRum>

init() は Electron の app.ready イベントより前に呼び出す必要があります。SDK はフォールバック報告チャネルに対応するために、ready イベントより前にカスタムプロトコル (rum-event://) を登録する必要があるためです。

import { app } from 'electron';
import armsRum from '@arms/rum-electron';

// app.ready の前に init を呼び出します
armsRum.init({
  endpoint: '<YOUR-ENDPOINT>',
  env: 'prod',
  version: '1.0.0',
});

app.whenReady().then(() => {
  // BrowserWindow インスタンスの作成などを行います
});

armsRum.getConfig()

現在の SDK 設定を取得します。

getConfig(): IElectronConfig
const config = armsRum.getConfig();
console.log('Current config:', config.endpoint, config.env);

armsRum.setConfig()

SDK 設定を動的に更新します。2 つのシグネチャに対応しています。

// 単一のオプションを更新します
setConfig<T extends keyof IElectronConfig>(key: T, value: IElectronConfig[T]): void

// 複数のオプションを更新します
setConfig(config: Partial<IElectronConfig>): void
// 単一のオプションを更新します
armsRum.setConfig('enable', false);
armsRum.setConfig('env', 'daily');

// 複数のオプションを更新します
const config = armsRum.getConfig();
armsRum.setConfig({
  ...config,
  enable: true,
  env: 'prod',
  version: '2.0.0',
});

armsRum.registerSession(partition)

カスタムの partition を使用する BrowserWindow に対して、RUM プリロードスクリプトを登録します。init() の後、対応する BrowserWindow を作成する前に呼び出して、初回のページロードで有効になるようにしてください。

registerSession(partition: string): Promise<ArmsRum>

BrowserWindow がカスタムの partition (例: persist:main) を使用する場合は、このメソッドを呼び出して、そのセッションに対するプリロードスクリプトを登録します。init()partition 設定でデフォルトのパーティションをすでに指定している場合は、このメソッドを再度呼び出す必要はありません。

import { app, BrowserWindow } from 'electron';
import armsRum from '@arms/rum-electron';

// app.ready の前に init を呼び出します
armsRum.init({
  endpoint: '<YOUR-ENDPOINT>',
});

// 対応する BrowserWindow を作成する前に、カスタムパーティションのプリロードスクリプトを登録します
armsRum.registerSession('persist:main');

app.whenReady().then(() => {
  // このパーティションを使用するウィンドウを作成します
  const win = new BrowserWindow({
    webPreferences: {
      partition: 'persist:main',
      // ...
    },
  });
});