Conversation
BenchmarksBenchmark execution time: 2026-04-28 19:31:19 Comparing candidate commit 3073dab in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 27 metrics, 0 unstable metrics, 56 known flaky benchmarks, 31 flaky benchmarks without significant changes.
|
| } | ||
| } | ||
|
|
||
| /// <summary> |
There was a problem hiding this comment.
When MassTransit uses AWS as a transport layer, we need a way to propagate context from MassTransit to AWS/RabbitMQv.
Not tested yet for AzureServiceBus
|
|
||
| var tracer = Tracer.Instance; | ||
| var scope = AwsSnsCommon.CreateScope(tracer, sendType.OperationName, SpanKinds.Producer, out var tags); | ||
|
|
There was a problem hiding this comment.
For RabbitMQ when I didn't put the current active scope as a priority before checking the headers, it caused some tests to fail.
Should I be doing the same here?
| @@ -0,0 +1,1117 @@ | |||
| [ | |||
There was a problem hiding this comment.
8.0.4 is the latest version that works before there are issues on how the service name is created from the Activity 8.0.3 releases.
Ideally - I just want to test support for 8.2.1 + just because there are less snapshots to keep track off and MassTransit v9 is coming out. V8 is about to be OLD (but probably still used)
UseDirectory("MassTransit8") caused .received.txt files to land outside
tracer/test/snapshots, so the artifact upload + UpdateSnapshotsFromBuild
workflow stopped picking them up. Reverted to flat layout.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary of changes
Adds automatic instrumentation for MassTransit 7.x and 8.x, a popular distributed application framework for .NET. The integration captures distributed traces across message
producers and consumers, propagates trace context across transport boundaries (RabbitMQ, Amazon SQS, In-Memory), and supports both DiagnosticSource (MT7) and
OpenTelemetry Activity (MT8) instrumentation patterns.
Reason for change
MassTransit is a widely-used message bus framework in the .NET ecosystem. This integration provides customers with end-to-end visibility into distributed message-driven
architectures, allowing them to track message flow across services, identify performance bottlenecks, and correlate traces across synchronous HTTP and asynchronous messaging
operations.
Implementation details
MassTransit 7.x:
DiagnosticSourcelisteners (MassTransit.ReceivePipe,MassTransit.ConsumeContext)ConsumeContext,SendContext, andPublishContextfor context propagationRECEIVEandPROCESSspans for incoming messages,SENDspans for outgoing messagesMassTransit 8.x:
ActivitySourceinstrumentationx-datadog-*,_datadog)Key technical decisions:
foreachwithswitchvs multiple LINQ calls)Test coverage
MassTransit7Tests.cs- DiagnosticSource instrumentation across multiple transportsMassTransit8Tests.cs- OpenTelemetry Activity enhancement across multiple transportsOther details
Compatibility:
NEED TO TEST WITH Azure Service Bus !!!