-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
enhancementNew feature or requestNew feature or requestgoPull requests that update Go codePull requests that update Go code
Description
Key Highlights:
Why This Matters:
- GoFr currently uses parent-child tracing which doesn't fit asynchronous pub/sub patterns
- OpenTelemetry recommends span links as the standard for messaging systems
- Span links enable proper correlation across decoupled, asynchronous message flows
What It Proposes:
- Producer-side enhancements: Inject W3C trace context into message metadata
- Consumer-side enhancements: Extract context and create span links to producer spans
- Batch operation support: Create appropriate span hierarchies with multiple links
Technical Implementation:
- Uses
trace.WithLinks()from OpenTelemetry Go SDK - Follows messaging semantic conventions
- Supports multiple backends (Kafka, Google Pub/Sub, NATS)
- Maintains backward compatibility with configuration options
Benefits:
- ✅ Correct async correlation between producers and consumers
- ✅ Supports fan-out (1→many) and fan-in (many→1) patterns
- ✅ Aligns with OpenTelemetry standards
- ✅ Better observability for event-driven architectures
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgoPull requests that update Go codePull requests that update Go code