0Pricing
React Academy · レッスン

フロントエンドのオブザーバビリティ:概要と重要性

フロントエンドのトレースがサーバー側の監視を補完する理由と、Reactアプリで重要なシグナルを理解します。

「フロントエンドのオブザーバビリティ:概要と重要性」はCoddyKit上の無料React Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはReact Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 React Academyコースには全4レッスンが含まれています。

バックエンドのオブザーバビリティは成熟している

バックエンドのオブザーバビリティは十分に確立されています。ログはイベントを記録し、メトリクスはリソース使用量を追跡し、分散トレースはマイクロサービス間のリクエストを追跡します。Datadog、Prometheus、Jaegerなどのツールは、本番のバックエンドシステムで広く導入されています。

フロントエンドのオブザーバビリティは発展途上

フロントエンドのオブザーバビリティは比較的新しい分野で、ユーザーがReactアプリケーションを操作する際の体験を追跡します。これには、ユーザー操作の記録、レンダリングパフォーマンスの測定、ネットワークリクエストの監視、ブラウザーで発生したJavaScriptエラーの収集が含まれます。

フロントエンドのオブザーバビリティが重要な理由

バックエンドのエラー率が低く、データベースクエリも高速で、完全に健全に見える場合でも、ユーザーは遅く、カクつき、あるいは壊れたインターフェースを体験している可能性があります。フロントエンドのオブザーバビリティは、サーバーの動作だけでなく、ユーザーが実際に体験していることを測定することで、この隔たりを埋めます。

フロントエンド向けに適応したトレース

フロントエンドのトレースは、ユーザー操作によって引き起こされた一連のイベントを記録します。たとえば、ボタンのクリック、Reactの状態更新、APIからのデータ取得、結果のレンダリングなどです。このトレースによって、ユーザーの意図と、それを実行したコンポーネントおよびコンポーネントが行ったネットワーク呼び出しを結び付けられます。

メトリクス: Web Vitals

バックエンドのメトリクスに相当するフロントエンドの指標がWeb Vitalsです。LCP(Largest Contentful Paint)は読み込み速度を、INP(Interaction to Next Paint)は応答性を、CLS(Cumulative Layout Shift)は視覚的な安定性を測定します。これらはGoogleがCore Web Vitalsのランキングに使用する指標です。

フロントエンドのログ

フロントエンドのログには、ブラウザーで発生したエラー、警告、情報イベントが記録されます。主なシグナルは、console.errorの呼び出し、未処理のJavaScript例外(window.onerror)、未処理のPromise拒否(window.onunhandledrejection)、Reactのエラーバウンダリによる捕捉です。

Real User Monitoring(RUM)

Real User Monitoringは、本番環境で実際のユーザーのブラウザーからオブザーバビリティデータを収集します。RUMはブラウザーを自動的に計装し、パフォーマンスのタイミング、エラー、ユーザー操作を発生時に記録します。これにより、どのような合成テストでも再現できない実環境のデータを得られます。

Synthetic Monitoring

Synthetic Monitoringは、Lighthouse CI、Playwright、WebPageTestなどの自動化ツールを使い、管理された環境でユーザー操作をシミュレートします。動作が予測しやすく、ユーザーに影響が及ぶ前にリグレッションを検出できます。一方で、実際のユーザーが使うデバイス、ネットワーク、利用パターンの多様性は捉えられません。

商用RUMツール

React向けに必要な機能が一通り揃ったRUMを提供する商用ツールはいくつかあります。Datadog RUM(Datadog APMと統合してフルスタックトレースを実現)、New Relic Browser、Sentry Performance(エラーとパフォーマンスを1つのSDKで収集)などです。導入は迅速ですが、大規模に利用すると高額になります。

オープン標準としてのOpenTelemetry

OpenTelemetryは、トレース、メトリクス、ログを収集するためのベンダー中立なAPIとSDKを定義するCNCFプロジェクトです。OpenTelemetryで計装すればデータを自分で管理でき、Jaeger、Grafana Tempo、Honeycomb、Datadog、または独自のパイプラインなど、互換性のある任意のバックエンドに送信できます。

フロントエンドとバックエンドのオブザーバビリティの隔たり

フロントエンドのオブザーバビリティがなければ、ユーザー体験の遅さはエンジニアリングチームからほとんど見えません。カスタマーサポートへの問い合わせが急増したり、コンバージョン率が低下したりすることは分かっても、ブラウザーからのトレースとメトリクスがなければ、根本原因の特定には推測が必要になります。

RUMとSynthetic Monitoringの違い

Real User Monitoring(RUM)とSynthetic Monitoringの主な違いは何ですか?

レッスンのまとめ

フロントエンドのオブザーバビリティでは、3つの柱であるトレース、メトリクス、ログをブラウザーに適用します。RUMは実際のユーザー体験を収集し、Synthetic Monitoringはリグレッションを早期に検出します。Web Vitals(LCP、INP、CLS)はフロントエンドの主要な指標です。OpenTelemetryは、このデータを収集・エクスポートするためのベンダー中立な標準を提供し、オブザーバビリティのバックエンドを自由に選べるようにします。

よくある質問

「フロントエンドのオブザーバビリティ:概要と重要性」レッスンは無料ですか?

はい。「フロントエンドのオブザーバビリティ:概要と重要性」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、React Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 React Academyコースには全4レッスンが含まれています。

「フロントエンドのオブザーバビリティ:概要と重要性」で何を学びますか?

フロントエンドのトレースがサーバー側の監視を補完する理由と、Reactアプリで重要なシグナルを理解します。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

React Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのReact Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「フロントエンドのオブザーバビリティ:概要と重要性」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このReact Academyレッスンでコードを書いて実行できますか?

はい。すべてのReact Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. フロントエンドのオブザーバビリティ:概要と重要性
  2. ブラウザーからOpenTelemetryトレースを取得する
  3. リアルユーザーモニタリングとWeb Vitals
  4. フロントエンドとバックエンドのトレースを関連付ける
← React Academyに戻る