Supabaseは2026年8月17日(現地時間)、開発キット「supabase-js」においてW3C Trace Contextの伝播機能を提供開始した。この機能により、クライアント側のトレースIDがAPI GatewayおよびEdge Functionのログに引き継がれる。これにより、ブラウザからバックエンドログまで一貫したリクエスト追跡が可能になり、これまで手動で行われていたタイムスタンプによるデバッグ作業が不要になる。
新機能tracePropagationを有効にすると、supabase-js SDKは、Supabaseドメイン宛ての要求に対し「traceparent」「tracestate」「baggage」という3つの標準ヘッダーを付与する。Supabaseはこの受信トレースコンテキストを読み取り、生成されるログにクライアントと同じtrace_idを付与する。これにより、OpenTelemetry、Sentry、Datadog、Honeycomb、GrafanaなどW3C準拠のトレーサーがサーバー側でトレースを再取得できる。
設定には、アプリケーションのエントリーポイントで@supabase/supabase-js/tracingをインポートし、createClient関数のオプションでtracePropagation: trueを設定する。OpenTelemetryのSDK自体は別途設定が必要となる。
Log Drainsを活用している場合、この機能により、外部バックエンドへ転送されるSupabaseログにもクライアントおよびサーバーのトレースと同じtrace_idが付与される。これにより、既存のトレーシングUI内でクライアント側のブラウザースパンとAPI Gatewayのログなどを単一のtrace_idの下で統合できる。
OpenTelemetryの統合コードはメインのsupabase-jsバンドルには含まれておらず、ユーザーがオプトインした場合のみ追加される設計となっている。これはReact Native/HermesやMetroといった各種バンドラーへの影響を最小限に抑えることを目的としている。
現在の制限事項として、CDN/UMDサポートがないためスクリプトタグからのロードは不可。トレースヘッダーはSupabase関連ドメインにのみ付与され、サードパーティホストには適用されない。また、API GatewayとEdge Functionのログが現在trace_idを認識する対象となっている。有効なspanが存在しない場合や、TracerProviderが登録されていない場合は伝播が行われない。サンプリングはデフォルトで尊重され、サンプリングされないトレースはヘッダーを送信しない。この機能を利用するには、supabase-jsのバージョン2.112.0以降へのアップグレードが必要であるとされている。
参考: Supabase Blog (アーカイブ) — 2026年8月18日 09:00 (JST)
原文ハイライト"supabase-js now propagates W3C Trace Context to Supabase."