DatadogのRUMを使用してセッション単位の画面操作を動画で見る

## 背景
自分が担当しているサービスで,
DatadogのRUMを導入したのでやり方等をDumpする.

https://www.datadoghq.com/ja/blog/real-user-monitoring-with-datadog/

## 準備
datadog側とアプリ側で準備が必要.
下記に従う.

https://docs.datadoghq.com/ja/real_user_monitoring/installation/?tab=us

### 準備詳細

* `UX Monitoring` の `RUM Applications` を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/0fa55238-c55c-85db-76e4-69f524231ad1.png)

* `+ New Applicationを選択`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/9b1010e3-af88-fcf4-6e81-1f11702847e3.png)

* `Application type` を選択し,  `Application name` を入力後, `+ Create New RUM Application` をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/8e525001-4a07-11b4-60b1-76c4c2814387.png)

* ソースコードを控える

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/75380aff-39ff-8916-46ed-bb210f3d93de.png)

* アプリケーションに反映させる

※ 私はTSでやってます. 環境ごとにRUMを利用できるようにしました. 

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

datadogRum.init({
  applicationId: process.env.DATADOG_RUM_APPLICATIONID as string,
  clientToken: process.env.DATADOG_RUM_CLIENT_TOKEN as string,
  site: 'datadoghq.com',
  service: process.env.DATADOG_RUM_SERVICE as string,
  env: process.env.DATADOG_RUM_ENV as string,
  // Specify a version number to identify the deployed version of your application in Datadog
  // version: '1.0.0',
  sampleRate: 100,
  trackInteractions: true,
  defaultPrivacyLevel: 'mask-user-input'
})

datadogRum.startSessionReplayRecording()
```

ユーザーセッションを特定したいなら, 下記も追加(ログイン後とかがいいのかな?)

https://docs.datadoghq.com/ja/real_user_monitoring/browser/advanced_configuration/?tab=npm#%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%89%B9%E5%AE%9A%E3%81%99%E3%82%8B

```typescript
datadogRum.setUser({
  id: {ユーザーID}
})
```

* アプリケーションを動かす

下記のようになったらOK!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/bdaec7b3-8d05-a4cc-30f8-b88cef691770.png)

## ダッシュボード
こんな感じで見れる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/c83212d7-af4c-2a9d-0f7f-d9b986b325b7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/debd5112-ab78-1c34-8c7d-dce50bee0de7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/65a60191-ac87-5d80-56ae-5e32bad1b1a4.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/007240b9-3389-f8b3-fe50-846de5dfa35d.png)

## セッションごとの操作を動画で見る
**エラーが発生したセッションを追ってみます.**

* `Ongoing Issues` の対象エラーをクリックして, `See in Error Tracking` をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/d3aeb59a-cb88-cb94-801f-40b99d4dc65e.png)

* `Replay Session` をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/4a8fee5d-30b1-c465-5c84-fe47a1f520b3.png)

* 見れる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/38c40453-487c-ece7-bb2c-8a318828c424.png)

## 料金
下記らしいです.
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180668/0cc7f918-54d1-b7ee-983c-6b077b123cfb.png)

https://www.datadoghq.com/ja/pricing/?product=%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0#%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0

## まとめ
エラーから追いましたが, 
対象ページでの絞り込みもできるのでそのページでどんな感じで操作しているのか丸見えにできますね...!
　
私自身導入したばかりで細かい操作方法はまだ理解できていないですが,
フロント系の不具合対応の速度が上がりそうな予感がしました!
　
また, ページ毎の操作という観点でもUIの見直しだったりに役立てられそうですね!
以上です!