ブラウザ JS
The ClickStackブラウザSDKは、フロントエンドアプリケーションを計測して、ClickStackにイベントを送信することを可能にします。これにより、ネットワークリクエストや例外をバックエンドイベントと同じタイムラインで表示できます。
さらに、セッションリプレイデータを自動的にキャプチャし、相関付けるため、ユーザーがアプリケーションを使用している際に見ていた内容を視覚的にステップスルーしてデバッグできます。
このガイドには以下の内容が含まれています:
- コンソールログ
- セッションリプレイ
- XHR/Fetch/Websocketリクエスト
- 例外
はじめに
- パッケージインポート
- スクリプトタグ
スクリプトタグでインストール(代替)
NPMを使用してインストールする代わりに、スクリプトタグを使ってスクリプトを含めてインストールすることもできます。これにより、HyperDXグローバル変数が公開され、NPMパッケージと同様に使用できます。
バンドラーを使用して現在サイトが構築されていない場合は、こちらが推奨されます。
オプション
apiKey- あなたのClickStackインジェクションAPIキー。service- HyperDX UIに表示されるイベントのサービス名。tracePropagationTargets- フロントエンドとバックエンドのトレースをリンクするためのHTTPリクエストに対して照合する正規表現パターンのリスト。対応するパターンに一致するすべてのリクエストに追加のtraceparentヘッダーが追加されます。これはバックエンドAPIドメイン(例:api.yoursite.com)に設定する必要があります。consoleCapture- (オプション)すべてのコンソールログをキャプチャする(デフォルトはfalse)。advancedNetworkCapture- (オプション)フルリクエスト/レスポンスのヘッダーおよびボディをキャプチャする(デフォルトはfalse)。url- (オプション)OpenTelemetryコレクタのURL、セルフホストインスタンスの場合のみ必要です。maskAllInputs- (オプション)セッションリプレイで全ての入力フィールドをマスクするかどうか(デフォルトはfalse)。maskAllText- (オプション)セッションリプレイで全てのテキストをマスクするかどうか(デフォルトはfalse)。disableIntercom- (オプション)Intercom統合を無効にするかどうか(デフォルトはfalse)。disableReplay- (オプション)セッションリプレイを無効にするかどうか(デフォルトはfalse)。
追加の設定
ユーザー情報またはメタデータを添付する
ユーザー情報を添付することで、HyperDX UIでセッションやイベントを検索/フィルタリングできます。これはクライアントセッションの任意の時点で呼び出すことができます。現在のクライアントセッションと呼び出し後に送信されたすべてのイベントは、ユーザー情報に関連付けられます。
userEmail、userName、およびteamNameは、対応する値でセッションUIをポピュレートしますが、省略することも可能です。他の追加の値も指定可能で、イベントを検索するために使用できます。
Reactエラー境界エラーの自動キャプチャ
Reactを使用している場合、attachToReactErrorBoundary関数にエラー境界コンポーネントを渡すことで、Reactエラー境界内で発生するエラーを自動的にキャプチャできます。
カスタムアクションを送信する
特定のアプリケーションイベント(例:サインアップ、送信など)を明示的に追跡するために、addAction関数をイベント名とオプションのイベントメタデータで呼び出すことができます。
例:
ネットワークキャプチャを動的に有効にする
ネットワークキャプチャを動的に有効または無効にするには、必要に応じてenableAdvancedNetworkCaptureまたはdisableAdvancedNetworkCapture関数を呼び出すだけです。
CORSリクエストのためのリソースタイミングを有効にする
フロントエンドアプリケーションが異なるドメインにAPIリクエストを送信する場合、オプションでリクエストにTiming-Allow-Originヘッダーを送信するように設定できます。これにより、ClickStackはリクエストの細かいリソースタイミング情報(例えば、DNSルックアップ、レスポンスダウンロードなど)をPerformanceResourceTimingを通じてキャプチャできます。
expressとcorsパッケージを使用している場合、以下のスニペットを使用してヘッダーを有効にできます: