[tracing] Add MassTransit 8 integration#8539
[tracing] Add MassTransit 8 integration#8539chojomok wants to merge 3 commits intomohammad/mass_transit7from
Conversation
f4427a7 to
5027224
Compare
4c7e07b to
6c53a23
Compare
5027224 to
51efcf3
Compare
6c53a23 to
ec949f3
Compare
Adds MassTransit 8-specific sample app, integration tests, and snapshots, plus the sln/build/package-version entries that extend MassTransit support to v8. Stacked on mohammad/mass_transit7.
ec949f3 to
c8fe761
Compare
BenchmarksBenchmark execution time: 2026-04-28 23:07:09 Comparing candidate commit c97218e in PR branch Found 0 performance improvements and 1 performance regressions! Performance is the same for 26 metrics, 0 unstable metrics, 56 known flaky benchmarks, 31 flaky benchmarks without significant changes.
|
Summary of changes
Adds auto-instrumentation for MassTransit 8 on top of the MassTransit 7 integration in #8538. MassTransit 8 emits Activities natively via
ActivitySource, so this PR is mostly a sample app, a set of version-specific snapshots, and the bookkeeping changes (sln, package versions, dependabot honeypot) needed to test it.This PR is stacked on #8538 — review and merge that one first. The base branch here is
mohammad/mass_transit7, so the diff shown is purely the MT8 delta.Reason for change
Continue MassTransit support to v8. MT8 is the current major version and the version most customers are on; MT7 still ships in long-running services but has been EOL for new development since late 2022.
Implementation details
The shared integration code (observer, CallTarget hooks, duck types,
MassTransitActivityHandler) is already in place from #8538. This PR adds:tracer/test/test-applications/integrations/Samples.MassTransit8/— exercises producer / consumer / saga / fault paths against MassTransit 8.5.8, sharingSamples.MassTransit.Shared/with the MT7 sample.MassTransit8Tests.cscovering in-memory, RabbitMQ, and AWS SQS transports, plus a Windows-only in-memory variant.pre_8_0_5,pre_8_0_6,pre_8_0_7,pre_8_0_9,pre_8_0_14,pre_8_0_16,pre_8_1,pre_8_2,8_2_1_to_8_3_1, and current (8.5.8).tracer/test/Datadog.Trace.TestHelpers.SharedSource/MassTransit8/— the canonical default-version snapshots reused by upstream test runners.Samples.MassTransit8to bothDatadog.Trace.slnandDatadog.Trace.Samples.g.sln, restores theMassTransit8entry inPackageVersionsGeneratorDefinitions.json(and the regeneratedPackageVersionsLatest{Majors,Minors,Specific}.g.{props,cs}files), and bumps the dependabot honeypot toMassTransit 8.5.8.Minimum supported version: 8.0.4
MT 8.0.2 and 8.0.3 set a
service.nameActivity tag to the consumer type name, andOtlpHelpers.UpdateSpanFromActivityunconditionally overrides the span service with that value (ignoringDD_SERVICE). 8.0.4 fixes this. Background and other version-specific quirks are documented inMassTransit-Integration.md.Test coverage
MassTransit8Tests.csintegration tests, asserting span shapes against the version-specific verified snapshots above.Samples.MassTransit8sample app covering producer, consumer, saga, and fault flows.MassTransit8package-version generator entry.Other details