mcpField
D
dt-obs-frontends

dt-obs-frontends

github.com/dynatraceクラウド・DevOps1692.6k 回インストール今日更新
リポジトリ

dt-obs-frontends について

dt-obs-frontends は、Web とモバイルのフロントエンドにおける実ユーザーテレメトリーを調べる Dynatrace のオブザーバビリティスキルです。メトリクス、イベント、セッションを使った DQL 分析と、一般的な調査手順をまとめています。

主な機能

  1. 01Web・モバイルの RUM データ検索
  2. 02Core Web Vitals とナビゲーション性能の分析
  3. 03イベント、セッション、ユーザー操作の調査
  4. 04エラー、リクエスト遅延、クラッシュの分析
  5. 05フロントエンドとバックエンドの関連付け

活用シーン

  1. 01Web ページの性能低下の特定
  2. 02モバイルのセッションとクラッシュの分析
  3. 03ブラウザーやアプリのバージョン別の問題調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dynatrace/dynatrace-for-ai --skill dt-obs-frontends

インストール後、Claude Code で/dt-obs-frontendsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
characteristics.md
csp-violations.md
error-tracking.md
frontend-backend-linking.md
mobile-monitoring.md
slow-page-load-playbook.md
troubleshooting.md
user-actions.md
user-sessions.md
visibility-changes.md
web-performance-analysis.md
web-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 Vitals
  • dt.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、robot
  • dt.rum.application.type — web または mobile
  • dt.rum.session.id、dt.rum.instance.id
  • os.name、geo.country.iso_code、client.isp
  • client.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.linkreferences/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

コメント