- 重要な情報
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Datadog Real User Monitoring (RUM) を使用すると、アプリケーションの個々のユーザーのパフォーマンスとユーザージャーニーをリアルタイムで視覚化して分析することができます。イベントを収集するには、RUM ブラウザ SDK をブラウザアプリケーションに追加し、初期化パラメーターを使用して収集するデータの種類を構成します。
RUM ブラウザ SDK は、IE11 を含むすべてのモダンなデスクトップおよびモバイルブラウザをサポートしています。詳細については、ブラウザサポートの表を参照してください。
RUM ブラウザモニタリングを設定するには、RUM アプリケーションを作成します。
clientToken
と applicationId
が生成されます。Datadog がデータの受信を開始するまで、アプリケーションは RUM Applications ページに pending
として表示されます。
@datadog/browser-rum
を package.json
ファイルに追加したら、次のコマンドを実行して初期化します。
import { datadogRum } from '@datadog/browser-rum'
datadogRum.init({
applicationId: '<DATADOG_APPLICATION_ID>',
clientToken: '<DATADOG_CLIENT_TOKEN>',
site: '<DATADOG_SITE>',
// service: 'my-web-application',
// env: 'production',
// version: '1.0.0',
sampleRate: 100,
premiumSampleRate: 100, // 含まれない場合 - デフォルト 100
trackInteractions: true,
})
v4.10.2
より前import { datadogRum } from '@datadog/browser-rum'
datadogRum.init({
applicationId: '<DATADOG_APPLICATION_ID>',
clientToken: '<DATADOG_CLIENT_TOKEN>',
site: '<DATADOG_SITE>',
// service: 'my-web-application',
// env: 'production',
// version: '1.0.0',
sampleRate: 100,
replaySampleRate: 100, // 含まれない場合 - デフォルト 100
trackInteractions: true,
})
trackInteractions
および trackFrustrations
パラメーターは、アプリケーション内のユーザークリックの自動収集を有効にします。ページに含まれている機密データと非公開データは、やり取りされた要素を特定するために含まれる場合があります。
生成されたコードスニペットを、アプリケーションで監視するすべての HTML ページの head タグに追加します。
<script>
(function(h,o,u,n,d) {
h=h[d]=h[d]||{q:[],onReady:function(c){h.q.push(c)}}
d=o.createElement(u);d.async=1;d.src=n
n=o.getElementsByTagName(u)[0];n.parentNode.insertBefore(d,n)
})(window,document,'script','https://www.datadoghq-browser-agent.com/datadog-rum-v4.js','DD_RUM')
DD_RUM.onReady(function() {
DD_RUM.init({
clientToken: '<CLIENT_TOKEN>',
applicationId: '<APPLICATION_ID>',
site: '<DATADOG_SITE>',
// service: 'my-web-application',
// env: 'production',
// version: '1.0.0',
sampleRate: 100,
premiumSampleRate: 100, // 含まれない場合 - デフォルト 100
trackInteractions: true,
})
})
</script>
v4.10.2
より前<script>
(function(h,o,u,n,d) {
h=h[d]=h[d]||{q:[],onReady:function(c){h.q.push(c)}}
d=o.createElement(u);d.async=1;d.src=n
n=o.getElementsByTagName(u)[0];n.parentNode.insertBefore(d,n)
})(window,document,'script','https://www.datadoghq-browser-agent.com/datadog-rum-v4.js','DD_RUM')
DD_RUM.onReady(function() {
DD_RUM.init({
clientToken: '<CLIENT_TOKEN>',
applicationId: '<APPLICATION_ID>',
site: '<DATADOG_SITE>',
// service: 'my-web-application',
// env: 'production',
// version: '1.0.0',
sampleRate: 100,
replaySampleRate: 100, // 含まれない場合 - デフォルト 100
trackInteractions: true,
})
})
</script>
trackInteractions
および trackFrustrations
パラメーターは、アプリケーション内のユーザークリックの自動収集を有効にします。ページに含まれている機密データと非公開データは、やり取りされた要素を特定するために含まれる場合があります。
始めの RUM API 呼び出しは DD_RUM.onReady()
コールバックにラップされている必要があります。こうすることで、SDK が適切に読み込まれたときにのみコードが実行されるようにできます。
生成されたコードスニペットを、アプリケーションで監視するすべての HTML ページの head タグ(他のスクリプトタグの前にあるタグ)に追加します。同期型のスクリプトタグをより高い位置に含めると、Datadog RUM ですべてのパフォーマンスデータとエラーを収集できます。
<script src="https://www.datadoghq-browser-agent.com/datadog-rum-v4.js" type="text/javascript"></script>
<script>
window.DD_RUM &&
window.DD_RUM.init({
clientToken: '<CLIENT_TOKEN>',
applicationId: '<APPLICATION_ID>',
site: '<DATADOG_SITE>',
// service: 'my-web-application',
// env: 'production',
// version: '1.0.0',
sampleRate: 100,
premiumSampleRate: 100, // 含まれない場合 - デフォルト 100
trackInteractions: true,
})
</script>
v4.10.2
より前<script src="https://www.datadoghq-browser-agent.com/datadog-rum-v4.js" type="text/javascript"></script>
<script>
window.DD_RUM &&
window.DD_RUM.init({
clientToken: '<CLIENT_TOKEN>',
applicationId: '<APPLICATION_ID>',
site: '<DATADOG_SITE>',
// service: 'my-web-application',
// env: 'production',
// version: '1.0.0',
sampleRate: 100,
replaySampleRate: 100, // 含まれない場合 - デフォルト 100
trackInteractions: true,
})
</script>
trackInteractions
および trackFrustrations
パラメーターは、アプリケーション内のユーザークリックの自動収集を有効にします。ページに含まれている機密データと非公開データは、やり取りされた要素を特定するために含まれる場合があります。
window.DD_RUM
チェックは、RUM ブラウザ SDK で読み込みエラーが起きた際に問題を防ぐために使用されます。
タイプは TypeScript >= 3.8.2 と互換性があります。以前のバージョンの場合は、JavaScript ソースをインポートし、グローバル変数を使用してコンパイルの問題を回避します。
import '@datadog/browser-rum/bundle/datadog-rum'
window.DD_RUM.init({
applicationId: 'XXX',
clientToken: 'XXX',
site: 'datadoghq.com',
sampleRate: 100,
premiumSampleRate: 100,
})
次のパラメーターを使用できます。
applicationId
clientToken
site
datadoghq.com
service
env
version
trackViewsManually
false
trackInteractions
false
trackFrustrations
false
trackInteractions: true
を意味します。defaultPrivacyLevel
mask-user-input
actionNameAttribute
sampleRate
100
100
で全て、0
でなし。追跡されたセッションのみが RUM イベントを送信します。sampleRate
の詳細については、サンプリング構成を参照してください。replaySampleRate
100
premiumSampleRate
を参照してください。premiumSampleRate
100
100
で全て、0
でなし。premiumSampleRate
の詳細については、サンプリング構成を参照してください。silentMultipleInit
false
proxyUrl
allowedTracingOrigins
tracingSampleRate
100
100
、なければ 0
です。詳細は、RUM とトレースの接続を参照してください。telemetrySampleRate
20
0
に設定すると、テレメトリー収集がオプトアウトされます。excludedActivityUrls
Logs Browser SDK を使用している場合、一致するコンフィギュレーションが必要なオプション:
trackSessionAcrossSubdomains
false
useSecureSessionCookie
false
useCrossSiteSessionCookie
false
useSecureSessionCookie
を意味します。初期化コマンドを呼び出し、追跡を開始します。
init(configuration: {
applicationId: string,
clientToken: string,
site?: string,
sampleRate?: number,
silentMultipleInit?: boolean,
trackInteractions?: boolean,
service?: string,
env?: string,
version?: string,
allowedTracingOrigins?: Array<String|Regexp>,
trackSessionAcrossSubdomains?: boolean,
useSecureSessionCookie?: boolean,
useCrossSiteSessionCookie?: boolean,
})
サービスとは、一連のページにマッピングされた、独立したデプロイ可能なコードリポジトリのことです。
Datadog ブラウザ RUM SDK が初期化されると、SDK の内部コンテキストにアクセスすることができます。
以下の属性を調べることができます。
属性 | 説明 |
---|---|
application_id | アプリケーションの ID。 |
session_id | セッションの ID。 |
user_action | アクション ID を含むオブジェクト (アクションが見つからなかった場合は未定義)。 |
view | 現在のビューイベントに関する詳細を含むオブジェクト。 |
詳細については、RUM ブラウザデータ収集を参照してください。
{
application_id : "xxx",
session_id : "xxx",
user_action: { id: "xxx" },
view : {
id : "xxx",
referrer : "",
url: "http://localhost:8080/",
name: "homepage"
}
}
オプションで startTime
パラメーターを使用すると、特定の時刻のコンテキストを取得することができます。このパラメーターが省略された場合は、現在のコンテキストが返されます。
getInternalContext (startTime?: 'number' | undefined)
NPM の場合は以下を使用します。
import { datadogRum } from '@datadog/browser-rum'
datadogRum.getInternalContext() // { session_id: "xxxx", application_id: "xxxx" ... }
CDN 非同期の場合は以下を使用します。
DD_RUM.onReady(function () {
DD_RUM.getInternalContext() // { session_id: "xxxx", application_id: "xxxx" ... }
})
CDN 同期の場合は以下を使用します。
window.DD_RUM && window.DD_RUM.getInternalContext() // { session_id: "xxxx", application_id: "xxxx" ... }
お役に立つドキュメント、リンクや記事: