RUM の高度なコンフィギュレーション
Dash が新機能を発表!インシデントマネジメント、Continuous Profiler など多数の機能が追加されました! Dash イベントで発表された新機能!

RUM の高度なコンフィギュレーション

初期化

このページでは、Datadog Browser SDK で利用可能なさまざまな初期化オプションを説明します。

サンプリング

デフォルトでは、収集セッション数にサンプリングは適用されていません。収集セッション数に相対サンプリング (% 表示) を適用するには、RUM を初期化する際に sampleRate パラメーターを使用します。下記の例では、RUM アプリケーションの全セッションの 90% のみを収集します。

import { Datacenter, datadogRum } from '@datadog/browser-rum';

datadogRum.init({
    applicationId: '<DATADOG_APPLICATION_ID>',
    clientToken: '<DATADOG_CLIENT_TOKEN>',
    datacenter: Datacenter.US,
    sampleRate: 90,
});
window.DD_RUM &&
    window.DD_RUM.init({
        clientToken: '<クライアントトークン>',
        applicationId: '<アプリケーション_ID>',
        sampleRate: 90,
    });

: サンプルとして抽出したセッションでは、すべてのページビューとそのセッションに紐付くテレメトリーは収集されません。

利用可能な API

グローバルコンテキストを追加

リアルユーザーモニタリング (RUM) を初期化したら、addRumGlobalContext(key: string, value: any) API を使用してアプリケーションから収集したすべての RUM イベントにコンテキストを追加します。

import { datadogRum } from '@datadog/browser-rum';

datadogRum.addRumGlobalContext('<コンテキストキー>', <コンテキスト値>);

// Code example
datadogRum.addRumGlobalContext('usr', {
    id: 123,
    plan: 'premium'
});
window.DD_RUM && window.DD_RUM.addRumGlobalContext('<コンテキストキー>', <コンテキスト値>);

// コード例
window.DD_RUM && window.DD_RUM.addRumGlobalContext('usr', {
    id: 123,
    plan: 'premium'
});

: 製品全体でデータの相関を高めるには Datadog の命名規則に従ってください。

グローバルコンテキストを置換

リアルユーザーモニタリング (RUM) を初期化したら、setRumGlobalContext(context: Context) API を使用してすべての RUM イベントのデフォルトコンテキストを置換します。

import { datadogRum } from '@datadog/browser-rum';

datadogRum.setRumGlobalContext({ '<コンテキストキー>', <コンテキスト値>' });

// Code example
datadogRum.setRumGlobalContext({
    codeVersion: 34,
});
window.DD_RUM &&
    DD_RUM.setRumGlobalContext({ '<コンテキストキー>', <コンテキスト値>' });

// Code example
window.DD_RUM &&
    DD_RUM.setRumGlobalContext({
        codeVersion: 34,
    });

: 製品全体でデータの相関を高めるには Datadog の命名規則に従ってください。

カスタムユーザーアクション

リアルユーザーモニタリング (RUM) を初期化したら、addUserAction(name: string, context: Context) API を使用してアプリケーションページの特定のインタラクションを監視したり、カスタムタイミングを測定したりする場合のユーザーアクションを生成します。 

import { datadogRum } from '@datadog/browser-rum';

datadogRum.addUserAction('<名前>', '<JSON_オブジェクト>');

// Code example
datadogRum.addUserAction('checkout', {
    cart: {
        amount: 42,
        currency: '$',
        nb_items: 2,
        items: ['socks', 't-shirt'],
    },
});
window.DD_RUM && DD_RUM.addUserAction('<名前>', '<JSON_オブジェクト>');

// Code example
window.DD_RUM &&
    DD_RUM.addUserAction('checkout', {
        cart: {
            amount: 42,
            currency: '$',
            nb_items: 2,
            items: ['socks', 't-shirt'],
        },
    });

上記の例では、RUM SDK がカート内のアイテム数、中身、カート全体の総額を収集します。

その他の参考資料