ブラウザRUMインストルメンテーションのAPIリファレンス

Splunk Observability Cloud リアルユーザーモニタリング / RUM for Browser 用の手動インストルメンテーションを作成する場合は、以下の方法を使用してください。

Splunk RUM for Browser 用の手動インストルメンテーションを作成する場合は、以下の API メソッドを使用します。手動インストルメンテーションの例については、「ブラウザベースのウェブアプリケーションを手動でインストルメンテーションする 」を参照してください。

注: try ... catch ブロックは、ブラウザ RUMのCDNバージョンを使用しているときにアプリがクラッシュするのを防ぐことができます。

メソッド

setGlobalAttributes

setGlobalAttributes メソッドは、すべての新しいスパンに属性のリストを追加します。たとえば、このメソッドを使用して、ユーザーメタデータをスパンに追加できます。「グローバル属性を使用してユーザーメタデータを追加する」を参照してください。

SplunkRum.setGlobalAttributes(attributes?: Attributes): void;

引数

説明

attributes

すべてのスパンに追加される属性のオブジェクト。未定義の場合、現在のグローバル属性はすべて削除され、新しいスパンには追加されなくなります。

次の例では、すべての新しいスパンに異なる属性を設定しています:

SplunkRum.setGlobalAttributes({
  'enduser.id': 'Test User',
});
// All new spans now include enduser.id

SplunkRum.setGlobalAttributes({
  'dark_mode.enabled': darkModeToggle.status,
});
// All new spans now include enduser.id and dark_mode.enabled

SplunkRum.setGlobalAttributes()
// New spans no longer include those attributes

getGlobalAttributes

getGlobalAttributes メソッドは、現在のすべてのグローバル属性を取得し、属性を持つ Attributes オブジェクトを返します。引数は取りません。

SplunkRum.getGlobalAttributes(): Attributes;

次の例は、setGlobalAttributes を使った後に、getGlobalAttributes を使う方法を示しています:

SplunkRum.setGlobalAttributes({
  'enduser.id': 'Test User',
});
SplunkRum.setGlobalAttributes({
  'dark_mode.enabled': darkModeToggle.status,
});

const attrs = SplunkRum.getGlobalAttributes();
/* console.log(attrs)
{
  'enduser.id': 'Test User',
  'dark_mode.enabled': true
}
*/

getSessionId

getSessionId メソッドは、現在のセッション ID を取得します。引数は取りません。

SplunkRum.getSessionId(): string;

次の例は、セッションIDを取得し、アプリケーションのメタデータに追加する方法を示しています:

LiveChat.onChatStarted(() => {
  LiveChat.setMetadata('splunk.sessionId', SplunkRum.getSessionId());
});

addEventListener と removeEventListener

イベントリスナーは addEventListener で登録し、removeEventListener で削除することができます。

イベントリスナーは、{ payload: { /* Depending on event */ }} 形式のオブジェクトを最初のパラメーターとして受け取ります。

SplunkRum.addEventListener(type: string, listener: Function): void
SplunkRum.removeEventListener(type: string, listener: Function): void

イベント

ペイロード

説明

'session-changed'

sessionId: 文字列 (新しいセッションID)

セッションIDが変更されたときに発行されます。

'global-attributes-changed'

attributes: オブジェクト (新しいグローバル属性)

setGlobalAttributes がコールされたときに発行されます。

次の例は、セッションIDの変更を追跡するイベントリスナーを追加する方法を示しています:

SplunkRum.addEventListener('session-changed', (event) => {
  LiveChat.setMetadata('splunk.sessionId', event.payload.sessionId);
});

OpenTelemetryへの移行

もし、アプリの既存の手動インストルメンテーションがある場合、 OpenTelemetry の規約を使用するようコードを変換できます。詳細については、GitHub の「Migrating Manual Instrumentation」を参照してください。