メインコンテンツまでスキップ

Breadcrumbs

Last updated on September 7, 2026

注釈:本資料はAI技術を用いて翻訳されています。

ステータス: ベータ版

Breadcrumbs(タイムラインおよびパフォーマンスグラフのピンオーバーレイ)は、本リリースでは Unreal Engine のみで利用可能です。パフォーマンスグラフのピンオーバーレイは特にベータ版です。

概要

Breadcrumbs は、ADT Health ピラーの機能の1つで、クラッシュに至るまでの一連のイベントを、構造化されたフィルター可能なタイムラインとしてクラッシュ詳細ページ上に直接表示します。これは、ADT がすべてのクラッシュで既に取得しているシステムログから自動的に構築されます。ゲーム開発者側で追加の設定や構成、コード変更を行う必要はありません。

このタイムラインは、クラッシュレポートを開く権限を持つすべてのユーザー(QA テスター、開発者、業務の一環としてクラッシュ調査を行うその他のユーザー)が利用できます。


クラッシュレポートが ADT に届いたとき、ユーザーはクラッシュが発生したことは確認できますが、クラッシュ発生前にゲームが何をしていたかまでは分かりませんでした。その一連のイベントを説明するログデータ自体は ADT が常に取得していましたが、これまでは別タブ内の生のテキストとしてしかアクセスできませんでした。その生のテキストを読み解くには専門知識が必要で、時間もかかるため、QA テスターは自分で状況を把握することができず、開発者に頼らざるを得ませんでした。

これにより、予測可能なボトルネックが生じていました。QA テスターは不完全なバグレポートを作成し、開発者はデバッグを始める前にフォローアップの質問に答える必要があり、その結果、調査サイクル全体が遅くなっていました。

Breadcrumbs は、これまでも存在していたデータを、チーム内の誰もが読んで活用できる形に変えることで、このボトルネックを解消します。


ADT がクラッシュレポートを受信すると、クラッシュ発生時に取得されたシステムログを解析し、各ログ行を型付きのタイムラインエントリに整理します。各エントリはその内容に基づいてカテゴリ(Error、Warning、Hitch、Game Event、Engine、ADT Activity、Informational のいずれか)に分類され、発生時刻順に並べ替えられます。

こうして生成されたタイムラインは、クラッシュ詳細ページの Breadcrumb タブに表示されます。クラッシュイベント自体は、最上部に独立したマーカーとして表示されます。それより前に発生したイベントはその下に順番に並び、最も古いイベントが一番下に表示されます。

ユーザーは、タイムラインの上部に配置されたフィルターパネルを使って、どのエントリを表示するかを制御できます。フィルターを変更すると、ページを再読み込みすることなくタイムラインが即座に更新されます。ユーザーはキーワードを使ってタイムラインを検索し、特定の語句に言及しているエントリを絞り込むこともできます。

エントリ数が多いクラッシュの場合、タイムラインはユーザーがスクロールするのに合わせて追加のエントリを自動的に読み込みます。「もっと読み込む」を手動でクリックする必要はありません。

Unreal Engine のゲームによるクラッシュの場合、各ログエントリはセッション詳細ページのパフォーマンスグラフ上にもクリック可能なピンとして表示されます。これにより、調査担当者はツールを切り替えることなく、1つの画面で特定のイベントとパフォーマンスの変化を関連付けて確認できます。


主な機能

設定不要のタイムライン

関連するログデータを持つすべてのクラッシュレポートには、内容が入力された状態のブレッドクラムタイムラインが表示されます。有効化、設定、計装といった作業は一切不要です。ゲームが ADT に接続され、クラッシュが報告されれば、タイムラインは自動的に表示されます。

構造化されたカテゴリ分けエントリ

タイムライン内の各エントリには、以下の情報が表示されます。

  • カテゴリを示す色のインジケーターとテキストラベル(例: 赤色 + 「Error」)
  • ログメッセージから抽出された短い説明
  • クラッシュ発生の何分前にそのイベントが発生したか(例: 「クラッシュの3分前」)
  • クリックすることでアクセスできる、展開可能な詳細情報

色とテキストラベルは常に併記されるため、色覚に障がいのあるユーザーにとってもタイムラインを読みやすくなっています。長いログメッセージは省略されることなく、タイムラインとピンのツールチップの両方で複数行に折り返されて全文表示されます。

フィルターパネル

タイムライン上部のチェックボックス形式のフィルターパネルで、どのカテゴリを表示するかを制御できます。デフォルトでは、Error、Warning、Hitch のエントリが表示されます。Game Event、ADT Activity、Informational のエントリは利用可能ですが、ノイズを減らすためデフォルトでは非表示になっています。

メインフィルターの下にある展開可能なセクションには、そのクラッシュログ固有の追加のログカテゴリが一覧表示されます。ユーザーはこれらを有効にすることで、デフォルトでは表示されないカテゴリのエントリを表示できます。

フィルターの選択状態は、同じブラウザセッション内でクラッシュレポート間を移動しても保持されるため、調査担当者は新しいクラッシュを開くたびにフィルターを再設定する必要はありません。

キーワード検索

タイムライン上部の検索入力欄を使うと、ユーザーはキーワードを入力して、説明文がそのキーワードに一致するエントリのみにタイムラインを絞り込むことができます。検索欄をクリアすると、フィルター適用後の全体表示に戻ります。キーワード検索は有効なフィルターチェックボックスと併用され、両方が同時に機能します。

カスタムフィルター

ユーザーは「Add filter」入力欄にキーワードまたは key=value 形式のペア(例: playerId=bob)を入力することで、一時的なフィルターチップを作成できます。タイムラインには、その語句に一致するすべてのエントリが即座に表示されます。複数のチップを同時に有効にすることもできます。標準のチェックボックス、カスタムチップ、キーワード検索を含むすべてのフィルターは OR ロジックで動作し、いずれか1つのフィルターにでも一致すればエントリが表示されます。

カスタムフィルターチップは、ユーザーがクラッシュ詳細ページから離れるか、ブラウザを更新すると消去されます。フィルターをリセットしても、カスタムフィルターチップは消去されません。

Game Events

メッセージに ADTGameEvent というキーワードを含むログエントリは識別され、緑色のインジケーターを持つ Game Events という独立したカテゴリとして表示されます。これらのメッセージ内の name=value 形式のペアはハイライト表示され、生のログテキストを解析しなくても構造化されたイベントデータを読み取れるようになっています。例えば、Event=MissileFireRejected Player=BOT Reason=MissileLimit は、各ペアが視覚的にハイライトされた状態で表示されます。

Game Events を利用するために新たな SDK 統合を行う必要はありません。メッセージに ADTGameEvent を含む既存の UE_LOG 呼び出しは、自動的に Game Event エントリとして表示されます。

パフォーマンスグラフオーバーレイ(Unreal Engine)— ベータ版

クラッシュセッションの各ログエントリは、セッションパフォーマンスグラフ上の該当するメトリック線上に、イベントが発生した値と時刻の位置に、クリック可能な円形のピンとして表示されます(グラフ上部の固定行ではありません)。ピンはタイムラインのカテゴリに合わせて色分けされています。同じ1秒間のウィンドウ内に3件以上のエントリが発生した場合、それらは件数バッジ付きの1つのピンにまとめて表示されます。

ピンをクリックすると、グラフ表示から離れることなく、そのエントリの概要(イベントカテゴリ、説明、相対的なタイミング、カテゴリに対応する色付きドット)が表示されます。ピン留めされたエントリがクラッシュ自体である場合、そのクラッシュイベントは Breadcrumb タブでの表示と同じ形式でポップオーバーに表示されます。クラスターバッジをクリックすると、そのグループ内のすべてのエントリが、それぞれ色分けされたカテゴリドット付きで一覧表示されます。単一ピンのポップオーバーとクラスターのポップオーバーのどちらにも閉じるボタン(✕)が用意されているため、ポップオーバーを閉じるためにポップオーバーの外側をクリックする必要はありません。

エントリに表示されるタイムスタンプは、ピンのポップオーバー、クラッシュヘッダー、Breadcrumb タブのいずれでも一貫しており、これらの表示間で食い違いが生じることはありません。

ユーザーは、クラッシュ詳細ページの Session ID リンクをクリックすることで、セッションパフォーマンスグラフに移動できます。


制限事項と留意点

ログの品質はゲームによって異なります。 ブレッドクラムタイムラインの情報量は、そのゲームが出力するログの内容に依存します。詳細で説明的なログを生成するゲームでは詳しいタイムラインが表示され、ログ出力が最小限のゲームでは表示されるエントリ数も少なくなります。

機密データの秘匿化は行われません。 ログエントリは、クラッシュログに記録されている内容がそのまま表示されます。表示前にプレイヤー ID やユーザー名、その他の識別可能な情報を自動的に除去する処理は行われません。この機能は開発環境での利用を想定しています。コンプライアンス要件のあるスタジオは、機密データを扱う環境で ADT を使用する前に、ログの内容を確認してください。

Breadcrumb データは読み取り専用です。 ユーザーは個々のエントリに注釈やメモを追加したり、編集したりすることはできません。エントリには元のログ内容のみが反映されます。

セッションをまたいだタイムラインはありません。 ブレッドクラムタイムラインには、表示中の特定のクラッシュセッションのイベントのみが表示されます。同じゲームビルドのセッションであっても、他のセッションのログエントリが含まれることはありません。

Unreal Engine 専用です。 Breadcrumbs(タイムラインおよびパフォーマンスグラフのピンオーバーレイの両方)は、本リリースでは Unreal Engine のゲームでのみ利用可能です。Unity はまだサポートされていません。

過去のクラッシュにも対応しています。 ADT が使用するログ形式は変更されていないため、ブレッドクラムタイムラインは、この機能がリリースされる前に記録されたクラッシュレポートに対しても機能します。新規のクラッシュに限定されません。

V1 では API アクセスはありません。 V1 では、ブレッドクラムデータは ADT の Web UI からのみ利用できます。ADT API を通じたプログラムからのアクセスは、今後のリリースで提供が予定されています。


サポート対象プラットフォーム

エンジンタイムラインタイムスタンプパフォーマンスグラフオーバーレイ
Unreal Engine完全サポートあり(UTC)あり
Unity未対応

Breadcrumbs は、本リリースでは Unreal Engine でのみ利用可能です。Unity のサポートはまだ提供されていません。


エントリの分類方法

各ログエントリは、必ず1つのカテゴリに分類されます。この分類には優先順位が設定されています。

優先度ルールカテゴリ
0メッセージに ADTGameEvent を含むGame Event
1メッセージがエンジンのライフサイクルイベント(マップロードやワールド準備完了の通知など)に一致するEngine
2メッセージに [HitchDetector] を含むHitch
3重大度が Fatal: または Error:Error
4重大度が Warning:Warning
5ADT アクティビティログのエントリ(より上位のルールに一致しない場合)ADT Activity
6それ以外のすべてのエントリInformational

ADT アクティビティエントリは LogBlackBox: というプレフィックスで識別されます。

Error または Warning の重大度を持つ ADT アクティビティエントリは、Error または Warning に分類されます。重大度がログの発生元よりも優先されます。


関連するハウツーガイド