Trace ID によるリクエスト追跡ガイド
概要
SaaS アプリケーションでは、ユーザーの1つの操作が複数の API リクエストを発生させることがあります。例えば、管理画面のトップページを表示するだけでも、認証・ユーザー情報取得・MFA 状態確認など複数の SaaSus API が呼び出されます。
Trace ID(X-SaaSus-Trace-Id)を利用することで、これらの関連する API リクエストに共通の ID を割り当て、後からログを一括で追跡・分析できるようになります。
アーキテクチャ
ポイント
バックエンドで context にセットすれば、SDK が全ての SaaSus API リクエストに X-SaaSus-Trace-Id を自動伝播します。アプリケーション側で API コールごとにヘッダーを個別設定する必要はありません。
実装方法
フロントエンド: Trace ID の生成と付与
フロントエンド側で UUID を生成し、バックエンドへのリクエストヘッダーに X-SaaSus-Trace-Id として付与します。
- TypeScript
// UUID を生成
const traceId = crypto.randomUUID();
// バックエンドへのリクエストに付与
await fetch('/api/endpoint', {
headers: {
'Authorization': `Bearer ${jwtToken}`,
'X-SaaSus-Trace-Id': traceId
}
});
Trace ID の生成粒度
ページ遷移単位・ユーザー操作単位など、分析したい粒度に合わせて生成タイミングを決定してください。同一の trace_id を複数リクエストで共有することで、一連の操作をグルーピングできます。