Sentry のブレッドクラム:エラー直前の足跡

Sentry のブレッドクラム

Sentry のブレッドクラム:addBreadcrumb、フィルター、上限 | We.Inc

JavaScript SDK での Sentry ブレッドクラムの仕組み。自動と手動のブレッドクラム、beforeBreadcrumb での絞り込み、maxBreadcrumbs のデフォルト値100、機密情報の除去を解説します。

Sentry のブレッドクラムは、エラーの直前に起きたことの小さな記録です。クリック、ネットワークリクエスト、コンソールメッセージ、ページの遷移などが含まれます。SDK が多くを自動で収集し、Sentry.addBreadcrumb() で独自のものを追加でき、次のエラーイベントに添付されます。JavaScript SDK はデフォルトで最新の100件を保持します。

ブレッドクラムの設定の概要

お客様がサイトでエラーに遭遇したとき、スタックトレースはコードがどこで壊れたかは教えてくれますが、お客様がその前に何をしたかは教えてくれません。ブレッドクラムはその隙間を埋めます。このガイドはブラウザー向け JavaScript SDK を対象としています。他の Sentry SDK も同じ考え方ですが、それぞれ独自のデフォルト値があります。

よくある質問

maxBreadcrumbs のデフォルト値はいくつですか?

100です。Sentry のドキュメントでは JavaScript SDK のデフォルト値を100としており、SDK のソースコードもオプションが未設定の場合に同じ数値を使います。

自動で記録されるブレッドクラムはどれですか?

ブラウザー SDK では、DOM 要素へのクリックとキー入力、XHR と fetch のリクエスト、コンソール API の呼び出し、すべての URL の変更です。

ブレッドクラムにはどんなキーを持たせられますか?

type、category、message、level、timestamp、data です。ドキュメントによると、それ以外のキーは処理中に破棄されます。

ブレッドクラムを記録しないようにするにはどうすればよいですか?

Sentry.init で beforeBreadcrumb を設定します。これは各ブレッドクラムと任意のヒントを受け取り、変更したブレッドクラムを返すか、null を返して破棄できます。

ブレッドクラムは単独で送信されますか?

いいえ。メモリ上に保持され、エラーなど、SDK が次に送信するイベントに添付されます。

追加する価値のある手動ブレッドクラム

個人データを含めないために

コード例

手動のブレッドクラムを追加する

カテゴリ、短いメッセージ、レベル、data の下の追加フィールドを付けて、業務上のステップを記録します。

ブレッドクラムを絞り込んで整える

コンソールのノイズを破棄し、メールアドレスを伏せ、変更しやすいようにデフォルトの上限を明示的に書いておきます。

ブレッドクラムの足跡シミュレーター

いくつかのイベントを記録してオプションを設定し、エラーを発生させて、どのブレッドクラムが一緒に送られるかを確認しましょう。これはブラウザー内のシミュレーションで、Sentry には何も送信されません。

イベントを記録

「カートに追加」をクリック

カートのリクエストが完了

console.log の呼び出し

チェックアウトへ移動

お客様がサインイン

button#add-to-cart

カートの合計を再計算しました

[email protected] としてサインインしました

maxBreadcrumbs

beforeBreadcrumb でコンソールのブレッドクラムを破棄

メッセージ内のメールアドレスを置き換える

エラーを発生させる

足跡をクリア

現在の足跡({n}件を保持)

まだブレッドクラムはありません。上でイベントを記録してください。

上限により古いブレッドクラム{n}件が破棄されました。

beforeBreadcrumb により{n}件のブレッドクラムが削除されました。

エラーイベントに添付されたブレッドクラム

これらの設定に対応する Sentry.init のオプション

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る