コンテンツにスキップ

2026-05 Sentry Web Vitals monitoring 要件

背景

  • Storefront と React Dashboard は Sentry browser tracing / replay / feedback を既に利用しているが、ページ表示速度を alert / dashboard で扱うための metric 名が明文化されていなかった。
  • Page load transaction だけでは LCP / CLS / INP のような UX 指標を surface 別に集計しにくいため、browser runtime から Sentry metrics へ Core Web Vitals 相当値を送る。

合意事項

  • Storefront は storefront.web_vitals.{metric}、React Dashboard は react_dashboard.web_vitals.{metric} を Sentry distribution metric として送信する。
  • {metric}ttfb, fcp, lcp, cls, inp を使う。
  • metric attributes は最低限 surfacepage を付ける。
  • surface: storefront / react-dashboard
  • page: browser location.pathname
  • 単位は ttfb, fcp, lcp, inpmillisecondclsnone
  • 計測は best-effort とし、PerformanceObserver 非対応 browser では送信しない。 エラー監視や tracing を fail-open させるための synthetic success は返さない。
  • Sentry browser tracing は維持し、Web Vitals metrics は threshold alert と時系列 dashboard 用の追加観測面として扱う。

運用ルール

  • ページ表示速度の初動確認は 監視・運用設計書 の「Sentry Web Vitals monitoring」を正本にする。
  • regression 調査では、同じ page / surface の Web Vitals metric と Sentry transaction / replay / browser issue を同時に見る。
  • threshold は運用開始時点では Core Web Vitals の一般的な目安を使い、Ritsubi の production 実測分布が溜まった後に p75 / p95 ベースで見直す。

受け入れ観点

  1. Storefront と React Dashboard の Sentry 初期化後に Web Vitals metrics が送信されること。
  2. ttfb, fcp, lcp, cls, inp の metric 名・単位・attributes が文書化されていること。
  3. Dashboard build と Storefront Sentry 関連 test が通ること。
  4. 運用ドキュメントから Sentry UI で見るべき metric 名と初動 triage が辿れること。