RUM の高度なコンフィギュレーション
Datadog の調査レポート: サーバーレスの状態 レポート: サーバーレスの状態

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

初期化

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

サンプリング

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

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

datadogRum.init({
  applicationId: '<DATADOG_APPLICATION_ID>',
  clientToken: '<DATADOG_CLIENT_TOKEN>',
  datacenter: 'us',
  sampleRate: 90
});
window.DD_RUM && window.DD_RUM.init({
  clientToken: '<CLIENT_TOKEN>',
  applicationId: '<APPLICATION_ID>',
  sampleRate: 90
});

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

利用可能な API

グローバルメタデータを追加する

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

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

datadogRum.addRumGlobalContext('<META_KEY>', <META_VALUE>);
// グローバルメタデータ属性を追加--一度に1つずつ属性を追加
window.DD_RUM && DD_RUM.addRumGlobalContext('<META_KEY>', <META_VALUE>);

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

デフォルトコンテキストを置換する

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

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

datadogRum.setRumGlobalContext({"<CONTEXT_KEY>":"<CONTEXT_VALUE>"});
// すべてのビューのデフォルトコンテンツを完全に置換
window.DD_RUM && DD_RUM.setRumGlobalContext({"<CONTEXT_KEY>":"<CONTEXT_VALUE>"});

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

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

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

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

datadogRum.addUserAction("<NAME>","<JSON_OBJECT>");
// 名前と全データを含むオブジェクトを設定
window.DD_RUM && DD_RUM.addUserAction("<NAME>","<JSON_OBJECT>");

例えば、カート内のアイテム数、中身、カート全体の総額を収集するには、下記の例のように構築します。

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

datadogRum.addUserAction("Cart Payed", {
  "cart": {
    "amount": 42,
    "currency": "$",
    "nb_items": 2,
    "items": ["socks", "t-shirt"]
  }
});
window.DD_RUM && DD_RUM.addUserAction("Cart Payed", {
  "cart": {
    "amount": 42,
    "currency": "$",
    "nb_items": 2,
    "items": ["socks", "t-shirt"]
  }
});

その他の参考資料