dt-obs-frontends について
dt-obs-frontends は、Web とモバイルのフロントエンドにおける実ユーザーテレメトリーを調べる Dynatrace のオブザーバビリティスキルです。メトリクス、イベント、セッションを使った DQL 分析と、一般的な調査手順をまとめています。
主な機能
- 01Web・モバイルの RUM データ検索
- 02Core Web Vitals とナビゲーション性能の分析
- 03イベント、セッション、ユーザー操作の調査
- 04エラー、リクエスト遅延、クラッシュの分析
- 05フロントエンドとバックエンドの関連付け
活用シーン
- 01Web ページの性能低下の特定
- 02モバイルのセッションとクラッシュの分析
- 03ブラウザーやアプリのバージョン別の問題調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dynatrace/ dynatrace-for-ai --skill dt-obs-frontendsインストール後、Claude Code で/dt-obs-frontendsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/characteristics.mdcsp-violations.mderror-tracking.mdfrontend-backend-linking.mdmobile-monitoring.mdslow-page-load-playbook.mdtroubleshooting.mduser-actions.mduser-sessions.mdvisibility-changes.mdweb-performance-analysis.mdweb-vitals.md詳細
フロントエンドのオブザーバビリティ(RUM)
DQL を使用した Real User Monitoring で、Web およびモバイルのフロントエンドを監視します。 最新の Dynatrace の RUM が対象です。RUM Classic のデータは使用しないでください。
概念とデータモデル: https://docs.dynatrace.com/docs/observe/digital-experience/new-rum-experience/concepts
データモデル
データソースは 3 種類あり、それぞれ異なる疑問に対応します。
| ソース | 用途 | 粒度 |
|---|---|---|
timeseries dt.frontend.* | 傾向、ダッシュボード、アラート | 集約されたメトリクス |
fetch user.events | 根本原因、個々のページビュー/リクエスト/クリック/エラー | イベント単位 |
fetch user.sessions | 直帰率、セッション継続時間、セッション単位の集計 | セッション単位 |
目安:まずメトリクスで問題の全体像を把握し、原因を調べるためにイベントを掘り下げます。個々の操作ではなく、ユーザージャーニーについて調べる場合はセッションを使用します。
イベントモデルの全容:https://docs.dynatrace.com/docs/semantic-dictionary/model/rum/user-events
DQL 言語リファレンス(関数、構文、演算子): https://docs.dynatrace.com/docs/platform/grail/dynatrace-query-language
主要な dt.frontend.* メトリクス(すべて次のディメンションに対応します:frontend.name、device.type、geo.country.iso_code、browser.name、os.name、dt.rum.user_type、dt.smartscape.frontend):
dt.frontend.web.page.largest_contentful_paint/dt.frontend.web.page.interaction_to_next_paint/dt.frontend.web.page.cumulative_layout_shift/dt.frontend.web.page.first_input_delay— Core Web Vitalsdt.frontend.web.navigation.time_to_first_byte/dt.frontend.web.navigation.dom_interactive/dt.frontend.web.navigation.load_event_end— ナビゲーションのタイミングdt.frontend.error.count— エラー数dt.frontend.request.count/dt.frontend.request.duration— リクエスト数とレイテンシーdt.frontend.user_action.count/dt.frontend.user_action.duration— ユーザーアクション数と継続時間dt.frontend.session.active.estimated_count/dt.frontend.user.active.estimated_count— アクティブなセッション数とユーザー数(カーディナリティメトリクスです。countDistinct()集計を使用してください)
共通フィルター
すべてのデータソース(user.events + user.sessions):
frontend.name— フロントエンド識別子(すべてのフィルタリングでの使用を推奨)。user.sessionsでは配列です(セッションは複数のフロントエンドにまたがる場合があります)。dt.smartscape.frontendは Smartscape エンティティ参照です。タグやリンクされたサービスなどのエンティティ属性にアクセスする場合に使用し、名前によるフィルタリングには使用しないでください。名前からエンティティ ID を解決するために Smartscape をクエリし、その後user.eventsと結合することは避け、常にfrontend.nameで直接フィルタリングしてください。dt.rum.user_type—real_user、synthetic、robotdt.rum.application.type—webまたはmobiledt.rum.session.id、dt.rum.instance.idos.name、geo.country.iso_code、client.ispclient.ip— クライアントの IP アドレス(機密フィールドです。デフォルトでは非表示です。以下のフィールド権限を参照してください)
user.events — Web のみ:
browser.name、browser.version、device.type
user.events — モバイルのみ:
device.model.identifier、device.manufacturer、app.short_version
一般的な特性フィルター(特定のイベントタイプに user.events を絞り込みます。| filter characteristics.has_X として使用します):
characteristics.has_page_summary— ページ読み込み(Web)characteristics.has_view_summary— ビュー(SPA + モバイル画面)characteristics.has_navigation— ナビゲーションイベントcharacteristics.has_user_action— ユーザーアクションcharacteristics.has_error— すべてのエラー
特性の完全なリファレンス:references/characteristics.md
フィールド権限
一部のフィールドは機密情報であり、builtin-sensitive-user-events-and-sessions フィールドセットに属します。user.events と user.sessions の両方で、デフォルトでは非表示です。アクセス権のないユーザーには null が表示され、これらのフィールドでフィルタリングまたはグループ化するクエリは、結果を返さずに処理されます。
このスキルで使用する機密フィールド:
client.ip— クライアントの IP アドレスuser.identifier— 実際のユーザー ID
次のポリシーステートメントでアクセス権を付与します。
ALLOW storage:fieldsets:read WHERE storage:fieldset-name="builtin-sensitive-user-events-and-sessions"
参考:フィールド権限
ドリルダウンパターン
特定の問題領域(エラー、パフォーマンス、バックグラウンドアクティビティなど)にかかわらず、ほとんどの調査では次のような階層的アプローチを取ります。
1. フロントエンドを特定する
まず by: {frontend.name} でグループ化し、影響を受けているアプリケーションを特定します。最初にウェブとモバイルの分析を分ける必要がある場合は、dt.rum.application.type(web または mobile)でフィルタリングします。
2. 影響を受けているページまたはビューを特定する
以下の両方のフィールドは、すべてのイベントで使用でき、特定の特性に限定されません。
page.name— Dynatrace エンティティ名に正規化されたページ URL。ウェブのみview.name— SPA のルートまたはモバイル画面の名前。ウェブとモバイルで使用可能
同じイベントに両方が含まれる場合があります。ウェブの SPA では、page.name は最上位のドキュメントを示し、view.name は現在のルートを示します。view.name でグループ化すると、より詳細に分析できます。モバイルでは view.name のみを使用します。
追加の絞り込みディメンション
| ディメンション | フィールド | プラットフォーム | 使用する場面 |
|---|---|---|---|
| 特定のリクエスト/エンドポイント | url.domain, url.path | ウェブ+モバイル | 特定の API 呼び出しにおけるパフォーマンスまたはエラーのパターン |
| 個別のユーザーセッション | dt.rum.session.id | ウェブ+モバイル | 特定ユーザーの操作経路を再現する場合。セッションリプレイに接続します |
| デバイスのフォームファクター | device.type | ウェブのみ | デスクトップ、モバイルブラウザー、タブレットのパターンの比較 |
| ブラウザーの互換性 | browser.name, browser.version | ウェブのみ | 特定のブラウザーでのみ発生する問題 |
| アプリのバージョン | app.short_version | モバイルのみ | 特定のアプリリリースで発生したリグレッション |
| 地域 | geo.country.iso_code | ウェブ+モバイル | 地域のインフラストラクチャまたは CDN の問題 |
| 合成トラフィックか実トラフィックか | dt.rum.user_type | ウェブ+モバイル | ユーザー向けの分析を行う前に、合成モニターを除外する場合 |
ワークフロー
各ワークフローは、1つ以上のリファレンスに対応しています。リファレンスは事前に読み込まず、ワークフローを開始するときに読み込んでください。
| ワークフロー | リファレンス |
|---|---|
| イベントの特性 — タイプ、フィルター、event_type の導出 | references/characteristics.md |
| Web Vitals(LCP、FCP、FID、INP、CLS) | references/web-vitals.md |
| セッション、直帰、エンゲージメントの分析 | references/user-sessions.md |
| ユーザー操作 — インタラクションのライフサイクル、完了理由、タイムアウト | references/user-actions.md |
| エラー、例外、失敗したリクエスト | references/error-tracking.md |
フロントエンドとバックエンドの連携 — 仕組み、トレースのカバレッジ、frontend.link | references/frontend-backend-linking.md |
| CSP 違反 — セキュリティポリシーの適用とブロックされたリソース | references/csp-violations.md |
| モバイルアプリの起動、クラッシュ、ANR、ネイティブシグナル | references/mobile-monitoring.md |
| リクエストのレイテンシ、長時間タスク、JS プロファイリング、地域別パフォーマンス | references/web-performance-analysis.md |
| 表示状態の変化 — タブ切り替え、バックグラウンド時間、エンゲージメントの質 | references/visibility-changes.md |
| ページ読み込みの遅延 — バックエンド、レンダリング、ネットワーク、JS の切り分け | references/slow-page-load-playbook.md |
| 結果がゼロ、異常値、曖昧なデータの診断 | references/troubleshooting.md |
パフォーマンスのしきい値(クイックリファレンス)
- LCP:良好 < 2.5 s | 不良 > 4.0 s
- INP:良好 < 200 ms | 不良 > 500 ms
- CLS:良好 < 0.1 | 不良 > 0.25
- FCP:良好 < 1.8 s | 不良 > 3.0 s
- TTFB:良好 < 800 ms | 不良 > 1800 ms
- モバイルのコールドスタート:良好 < 3 s | 不良 > 5 s
- モバイルのウォームスタート:良好 < 1.5 s | 不良 > 2 s
- モバイルのホットスタート:良好 < 500 ms | 不良 > 1 s
- 長時間タスク:> 50 ms は問題、> 250 ms は深刻
Web Vitals のしきい値(LCP、INP、CLS、FCP、TTFB):https://web.dev/articles/vitals
使用する場面
Core Web Vitals、セッション、クリック、エラー、クラッシュ、ブラウザー/アプリからのリクエストレイテンシ、フロントエンドとバックエンドの連携など、実ユーザーの Web およびモバイルのフロントエンドテレメトリーには、このスキルを使用してください。
次の用途には、別のスキルを使用してください。
- 合成モニター/可用性チェック →
dt-obs-synthetic - バックエンドサービス、トレース、スパン →
dt-obs-services、dt-obs-tracing - インフラストラクチャ、ホスト →
dt-obs-hosts - ログ →
dt-obs-logs - 問題、インシデント →
dt-obs-problems