Skip to content

parity(supabase): add W3C/OpenTelemetry trace context propagation support [from supabase-js] #264

Description

@grdsdev

Warning

Auto-generated parity issue — may be a false positive.

This issue was created automatically by /sync-sdk-parity from a heuristic analysis of recent supabase-js commits. The tooling has limited insight into language-specific idioms and may have:

  • misidentified a JS-only change as cross-language relevant,
  • missed an existing implementation in this SDK under a different name,
  • or proposed an API shape that doesn't fit this language's conventions.

It is the SDK author's responsibility to validate the need before implementing. If this change does not apply to this SDK, please close the issue with a short note explaining why.


SDK Parity: C# implementation needed

A new feature was added to supabase-js that may be worth implementing in this repository. Please confirm applicability before starting work.

Reference Implementation (supabase-js)

What Changed

SupabaseClient now accepts a tracePropagation option that injects W3C traceparent/tracestate headers into all outgoing requests using the active OpenTelemetry span context. Optional dependency, graceful no-op fallback.

Implementation Guidance (C#)

var supabase = new Supabase.Client(url, key, new SupabaseOptions
{
    TracePropagation = true,
    // or: TracePropagation = new TracePropagationOptions { Targets = [...] }
});
// All HttpClient requests include W3C traceparent header

Key Behaviors to Match

  • Optional OpenTelemetry NuGet package — no-op if absent
  • Injects traceparent into all sub-client HTTP requests
  • Configurable URL target filter

Acceptance Criteria

  • TracePropagation = true option accepted by SupabaseOptions
  • Active OTel activity causes traceparent header in requests
  • No-op when OTel package absent
  • Tests verify header injection

Context

  • supabase-js version: v2.106.0
  • Related: SDK-1041 (dart), SDK-1042 (py), SDK-1043 (swift)
  • Parity tracking: Auto-generated by /sync-sdk-parity

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions