ブラウザ JS
ClickStack ブラウザ SDK を使用すると、フロントエンドアプリケーションをインストルメントし、 イベントを ClickStack に送信できます。これにより、単一のタイムライン上で、 バックエンドイベントと並べてネットワークリクエストや例外を確認できます。
さらに、セッションリプレイデータを自動的に取得して相関付けることで、 ユーザーがアプリケーション利用中に画面上で何を見ていたのかを 視覚的に追いながらデバッグできます。
このガイドでは、次の内容を統合します:
- コンソールログ
- セッションリプレイ
- XHR/Fetch/Websocket リクエスト
- 例外
はじめに
- パッケージインポート
- スクリプトタグ
スクリプトタグによるインストール(代替手段)
npm でインストールする代わりに、スクリプトタグ経由でスクリプトを読み込んでインストールすることもできます。
これによりグローバル変数 HyperDX が定義され、npm パッケージと同様の方法で利用できます。
サイトが現在バンドラーを使用してビルドされていない場合に推奨されます。
オプション
apiKey- あなたの ClickStack インジェスト API key。service- イベントが HyperDX UI 上で表示される際のサービス名。tracePropagationTargets- HTTP リクエストに対して照合する正規表現パターンのリストです。フロントエンドとバックエンドのトレースを関連付けるために使用され、パターンのいずれかに一致したすべてのリクエストに追加のtraceparentヘッダーが付与されます。これはバックエンドの API ドメイン(例:api.yoursite.com)に設定してください。consoleCapture- (オプション)すべてのコンソールログを取得します(デフォルトはfalse)。advancedNetworkCapture- (オプション)リクエスト/レスポンスのヘッダーおよびボディを完全に取得します(デフォルトはfalse)。url- (オプション)self-hosted 環境でのみ必要となる OpenTelemetry collector の URL。maskAllInputs- (オプション)セッションリプレイで、すべての入力フィールドをマスクするかどうか(デフォルトはfalse)。maskAllText- (オプション)セッションリプレイで、すべてのテキストをマスクするかどうか(デフォルトはfalse)。disableIntercom- (オプション)Intercom 連携を無効にするかどうか(デフォルトはfalse)disableReplay- (オプション)セッションリプレイを無効にするかどうか(デフォルトはfalse)
追加の設定
ユーザー情報またはメタデータを付与する
ユーザー情報を付与すると、HyperDX UI 内でセッションやイベントを検索・フィルタリングできるようになります。これはクライアントセッション中の任意のタイミングで呼び出せます。現在のクライアントセッションと、その呼び出し以降に送信されるすべてのイベントは、指定したユーザー情報と関連付けられます。
userEmail、userName、teamName は、対応する値でセッション UI に表示されますが、省略することもできます。それ以外にも任意の追加値を指定し、イベントの検索に利用することが可能です。
React のエラーバウンダリで発生したエラーを自動捕捉する
React を使用している場合は、エラーバウンダリコンポーネントを attachToReactErrorBoundary 関数に渡すことで、そのエラーバウンダリ内で発生したエラーを自動的に捕捉できます。
カスタムアクションの送信
特定のアプリケーションイベント(例: サインアップ、フォーム送信など)を明示的に追跡するには、イベント名と任意のイベントメタデータを引数として addAction 関数を呼び出します。
例:
ネットワークキャプチャを動的に有効にする
ネットワークキャプチャを動的に有効または無効にするには、必要に応じて enableAdvancedNetworkCapture または disableAdvancedNetworkCapture 関数を呼び出してください。
CORS リクエスト向けのリソースタイミングを有効化する
フロントエンドアプリケーションが別ドメインに API リクエストを送信する場合、
任意で、リクエストに Timing-Allow-Origin ヘッダー を付与するように設定できます。これにより、ClickStack は PerformanceResourceTiming を通じて、そのリクエストに対する DNS ルックアップやレスポンスのダウンロードなどのきめ細かなリソースタイミング情報を取得できるようになります。
express と cors パッケージを使用している場合、次のスニペットを使用してこのヘッダーを有効にできます。