- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Datadog Real User Monitoring (RUM) を使用すると、アプリケーションの個々のユーザーのリアルタイムパフォーマンスとユーザージャーニーを視覚化して分析できます。
Datadog アプリで、UX Monitoring > RUM Applications > New Application へ移動します。
アプリケーションタイプとして Flutter
を選択します。
アプリケーション名を入力して一意の Datadog アプリケーション ID とクライアントトークンを生成します。
クライアント IP またはジオロケーションデータの自動ユーザーデータ収集を無効にするには、これらの設定のチェックボックスをオフにします。詳しくは、RUM Flutter データ収集をご覧ください。
データの安全性を確保するために、クライアントトークンを使用する必要があります。クライアントトークンの設定方法については、クライアントトークンのドキュメントを参照してください。
Datadog Flutter SDK for RUM を初期化するには、セットアップを参照してください。
Datadog Flutter Plugin は、MaterialApp 上の DatadogNavigationObserver
を使用して、自動的に名前付きルートを追跡することができます。
MaterialApp(
home: HomeScreen(),
navigatorObservers: [
DatadogNavigationObserver(DatadogSdk.instance),
],
);
これは名前付きルートを使用している場合、または PageRoute
の settings
パラメーターに名前を指定した場合に動作します。
また、DatadogRouteAwareMixin
プロパティと DatadogNavigationObserverProvider
プロパティを組み合わせて使用すると、RUM ビューを自動的に起動したり停止したりすることができます。DatadogRouteAwareMixin
を使って、initState
から didPush
へとロジックを移動させます。
ビューの名前を変更したり、カスタムパスを供給するには、viewInfoExtractor
コールバックを提供します。この関数は、defaultViewInfoExtractor
を呼び出すことによって、オブザーバーのデフォルト動作にフォールバックすることができます。例:
RumViewInfo? infoExtractor(Route<dynamic> route) {
var name = route.settings.name;
if (name == 'my_named_route') {
return RumViewInfo(
name: 'MyDifferentName',
attributes: {'extra_attribute': 'attribute_value'},
);
}
return defaultViewInfoExtractor(route);
}
var observer = DatadogNavigationObserver(
datadogSdk: DatadogSdk.instance,
viewInfoExtractor: infoExtractor,
);
Datadog Tracking HTTP Client パッケージを使用して、RUM ビューからリソースと HTTP 呼び出しの自動追跡を有効にします。
パッケージを pubspec.yaml
に追加し、初期化ファイルに以下を追加します。
final configuration = DdSdkConfiguration(
// 構成
firstPartyHosts: ['example.com'],
)..enableHttpTracking()
注: Datadog Tracking HTTP Client は、HttpOverrides.global
を変更します。独自のカスタム HttpOverrides
を使用している場合は、DatadogHttpOverrides
を継承する必要があるかもしれません。この場合、enableHttpTracking
を呼び出す必要はありません。datadog_tracking_http_client
>= 1.3 のバージョンでは、HttpOverrides.current
の値をチェックし、これをクライアント作成に使用するので、 Datadog を初期化する前に HttpOverrides.global
を必ず初期化しておく必要だけがあります。
Datadog 分散型トレーシングを有効にするには、構成オブジェクトの DdSdkConfiguration.firstPartyHosts
プロパティを、分散型トレーシングをサポートするドメインに設定する必要があります。また、RumConfiguration
で tracingSamplingRate
を設定することで、分散型トレーシングのサンプリングレートを変更することができます。
firstPartyHosts
はワイルドカードを許可しませんが、与えられたドメインのサブドメインにマッチします。例えば、api.example.com
は staging.api.example.com
と prod.api.example.com
にマッチし、news.example.com
にはマッチしません。
RumConfiguration.tracingSamplingRate
はデフォルトのサンプリングレートを 20% に設定します。すべてのリソースリクエストを完全な分散型トレースにしたい場合は、この値を 100.0
に設定します。