-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Build] Extend Azure Service Bus testing from versions 7.4.x - 7.17.x #5343
Conversation
…ld have been done long ago but we do not run these tests in CI
…e fallback tag names, where it throws an error when there are 0 matches or 2+ matches. This will be needed to easily support Azure Service Bus where the tag name changes between versions of the library and we still only expect one tag value.
Test changes include: - Creating separate snapshots for v7.4, v7.10, v7.13, and v7.17 - SpanMetadata updates to accommodate older versions where some tags differ. For cases where a tag name changed, introduce usage of IsPresent or IsOptional where we test that exclusively one or the other tag is set but not both Note: Also adds first-class "message_bus.destination" field to AzureServiceBusTags since it is the previous form of the "messaging.destination.name" tag
…ntly only done locally)
Datadog ReportBranch report: ✅ 0 Failed, 328189 Passed, 1588 Skipped, 54m 16.67s Wall Time |
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing the following branches/commits: Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5343) - mean (73ms) : 64, 83
. : milestone, 73,
master - mean (75ms) : 62, 87
. : milestone, 75,
section CallTarget+Inlining+NGEN
This PR (5343) - mean (1,004ms) : 979, 1029
. : milestone, 1004,
master - mean (1,003ms) : 981, 1025
. : milestone, 1003,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5343) - mean (110ms) : 107, 113
. : milestone, 110,
master - mean (111ms) : 107, 114
. : milestone, 111,
section CallTarget+Inlining+NGEN
This PR (5343) - mean (721ms) : 697, 744
. : milestone, 721,
master - mean (722ms) : 703, 740
. : milestone, 722,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5343) - mean (94ms) : 91, 98
. : milestone, 94,
master - mean (94ms) : 91, 97
. : milestone, 94,
section CallTarget+Inlining+NGEN
This PR (5343) - mean (685ms) : 654, 716
. : milestone, 685,
master - mean (671ms) : 648, 694
. : milestone, 671,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5343) - mean (188ms) : 184, 191
. : milestone, 188,
master - mean (188ms) : 184, 192
. : milestone, 188,
section CallTarget+Inlining+NGEN
This PR (5343) - mean (1,076ms) : 1054, 1098
. : milestone, 1076,
master - mean (1,067ms) : 1039, 1095
. : milestone, 1067,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5343) - mean (271ms) : 266, 275
. : milestone, 271,
master - mean (270ms) : 263, 277
. : milestone, 270,
section CallTarget+Inlining+NGEN
This PR (5343) - mean (871ms) : 845, 897
. : milestone, 871,
master - mean (867ms) : 846, 888
. : milestone, 867,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5343) - mean (261ms) : 257, 264
. : milestone, 261,
master - mean (260ms) : 256, 265
. : milestone, 260,
section CallTarget+Inlining+NGEN
This PR (5343) - mean (858ms) : 832, 885
. : milestone, 858,
master - mean (850ms) : 821, 879
. : milestone, 850,
|
Benchmarks Report for tracer 🐌Benchmarks for #5343 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored. Benchmark detailsBenchmarks.Trace.ActivityBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.ElasticsearchBenchmark - Slower
|
Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net6.0 | 1.148 | 1,179.47 | 1,354.20 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | CallElasticsearch |
net6.0 | 1.18μs | 1.17ns | 4.54ns | 0.014 | 0 | 0 | 1.01 KB |
master | CallElasticsearch |
netcoreapp3.1 | 1.59μs | 0.396ns | 1.48ns | 0.0133 | 0 | 0 | 1.01 KB |
master | CallElasticsearch |
net472 | 2.52μs | 0.743ns | 2.58ns | 0.161 | 0.00127 | 0 | 1.02 KB |
master | CallElasticsearchAsync |
net6.0 | 1.36μs | 1.32ns | 4.93ns | 0.0135 | 0 | 0 | 984 B |
master | CallElasticsearchAsync |
netcoreapp3.1 | 1.78μs | 0.759ns | 2.94ns | 0.0144 | 0 | 0 | 1.06 KB |
master | CallElasticsearchAsync |
net472 | 2.52μs | 1.76ns | 6.8ns | 0.17 | 0 | 0 | 1.08 KB |
#5343 | CallElasticsearch |
net6.0 | 1.35μs | 1.35ns | 5.05ns | 0.0143 | 0 | 0 | 1.01 KB |
#5343 | CallElasticsearch |
netcoreapp3.1 | 1.72μs | 0.745ns | 2.89ns | 0.0137 | 0 | 0 | 1.01 KB |
#5343 | CallElasticsearch |
net472 | 2.62μs | 0.908ns | 3.52ns | 0.162 | 0 | 0 | 1.02 KB |
#5343 | CallElasticsearchAsync |
net6.0 | 1.46μs | 0.722ns | 2.7ns | 0.0139 | 0 | 0 | 984 B |
#5343 | CallElasticsearchAsync |
netcoreapp3.1 | 1.72μs | 0.925ns | 3.46ns | 0.0148 | 0 | 0 | 1.06 KB |
#5343 | CallElasticsearchAsync |
net472 | 2.65μs | 1.82ns | 6.81ns | 0.17 | 0 | 0 | 1.08 KB |
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | ExecuteAsync |
net6.0 | 1.28μs | 0.898ns | 3.36ns | 0.0128 | 0 | 0 | 928 B |
master | ExecuteAsync |
netcoreapp3.1 | 1.81μs | 1.27ns | 4.9ns | 0.0127 | 0 | 0 | 928 B |
master | ExecuteAsync |
net472 | 1.95μs | 3.04ns | 11.8ns | 0.141 | 0 | 0 | 891 B |
#5343 | ExecuteAsync |
net6.0 | 1.43μs | 1.21ns | 4.67ns | 0.0128 | 0 | 0 | 928 B |
#5343 | ExecuteAsync |
netcoreapp3.1 | 1.68μs | 0.997ns | 3.73ns | 0.0125 | 0 | 0 | 928 B |
#5343 | ExecuteAsync |
net472 | 1.88μs | 0.663ns | 2.48ns | 0.141 | 0 | 0 | 891 B |
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | SendAsync |
net6.0 | 4.04μs | 1.84ns | 6.89ns | 0.0304 | 0 | 0 | 2.16 KB |
master | SendAsync |
netcoreapp3.1 | 5.1μs | 2.97ns | 11.1ns | 0.0355 | 0 | 0 | 2.7 KB |
master | SendAsync |
net472 | 7.66μs | 4.95ns | 19.2ns | 0.483 | 0 | 0 | 3.05 KB |
#5343 | SendAsync |
net6.0 | 4.11μs | 1.64ns | 6.14ns | 0.0304 | 0 | 0 | 2.16 KB |
#5343 | SendAsync |
netcoreapp3.1 | 5.01μs | 2.22ns | 8.58ns | 0.035 | 0 | 0 | 2.7 KB |
#5343 | SendAsync |
net472 | 7.72μs | 4.21ns | 15.7ns | 0.482 | 0 | 0 | 3.05 KB |
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | EnrichedLog |
net6.0 | 1.51μs | 0.775ns | 2.9ns | 0.0227 | 0 | 0 | 1.65 KB |
master | EnrichedLog |
netcoreapp3.1 | 2.29μs | 2.04ns | 7.62ns | 0.0217 | 0 | 0 | 1.65 KB |
master | EnrichedLog |
net472 | 2.56μs | 1.57ns | 5.87ns | 0.249 | 0 | 0 | 1.57 KB |
#5343 | EnrichedLog |
net6.0 | 1.5μs | 0.618ns | 2.39ns | 0.0234 | 0 | 0 | 1.65 KB |
#5343 | EnrichedLog |
netcoreapp3.1 | 2.25μs | 5.83ns | 22.6ns | 0.0226 | 0 | 0 | 1.65 KB |
#5343 | EnrichedLog |
net472 | 2.66μs | 2.25ns | 8.42ns | 0.249 | 0 | 0 | 1.57 KB |
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | EnrichedLog |
net6.0 | 115μs | 153ns | 593ns | 0.057 | 0 | 0 | 4.23 KB |
master | EnrichedLog |
netcoreapp3.1 | 119μs | 170ns | 637ns | 0.0612 | 0 | 0 | 4.23 KB |
master | EnrichedLog |
net472 | 148μs | 145ns | 543ns | 0.665 | 0.222 | 0 | 4.41 KB |
#5343 | EnrichedLog |
net6.0 | 112μs | 150ns | 580ns | 0.0562 | 0 | 0 | 4.23 KB |
#5343 | EnrichedLog |
netcoreapp3.1 | 118μs | 150ns | 583ns | 0.0586 | 0 | 0 | 4.23 KB |
#5343 | EnrichedLog |
net472 | 148μs | 145ns | 561ns | 0.661 | 0.22 | 0 | 4.41 KB |
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | EnrichedLog |
net6.0 | 3.1μs | 0.901ns | 3.49ns | 0.03 | 0 | 0 | 2.21 KB |
master | EnrichedLog |
netcoreapp3.1 | 4.2μs | 2.82ns | 10.6ns | 0.0295 | 0 | 0 | 2.21 KB |
master | EnrichedLog |
net472 | 4.88μs | 3.14ns | 12.1ns | 0.321 | 0 | 0 | 2.02 KB |
#5343 | EnrichedLog |
net6.0 | 3.2μs | 1.31ns | 5.06ns | 0.0305 | 0 | 0 | 2.21 KB |
#5343 | EnrichedLog |
netcoreapp3.1 | 4.2μs | 5.69ns | 21.3ns | 0.0292 | 0 | 0 | 2.21 KB |
#5343 | EnrichedLog |
net472 | 5.03μs | 2.3ns | 8.6ns | 0.319 | 0 | 0 | 2.02 KB |
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | SendReceive |
net6.0 | 1.41μs | 0.726ns | 2.72ns | 0.0163 | 0 | 0 | 1.18 KB |
master | SendReceive |
netcoreapp3.1 | 1.88μs | 1.76ns | 6.11ns | 0.016 | 0 | 0 | 1.18 KB |
master | SendReceive |
net472 | 2.18μs | 1.09ns | 4.22ns | 0.187 | 0 | 0 | 1.18 KB |
#5343 | SendReceive |
net6.0 | 1.41μs | 1.94ns | 7.26ns | 0.0163 | 0 | 0 | 1.18 KB |
#5343 | SendReceive |
netcoreapp3.1 | 1.86μs | 0.79ns | 3.06ns | 0.0158 | 0 | 0 | 1.18 KB |
#5343 | SendReceive |
net472 | 2.3μs | 2.71ns | 10.5ns | 0.187 | 0 | 0 | 1.18 KB |
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | EnrichedLog |
net6.0 | 2.9μs | 1.41ns | 5.47ns | 0.0211 | 0 | 0 | 1.55 KB |
master | EnrichedLog |
netcoreapp3.1 | 4.02μs | 1.78ns | 6.4ns | 0.0203 | 0 | 0 | 1.6 KB |
master | EnrichedLog |
net472 | 4.46μs | 2.12ns | 7.92ns | 0.316 | 0 | 0 | 1.99 KB |
#5343 | EnrichedLog |
net6.0 | 2.75μs | 0.575ns | 2.23ns | 0.0221 | 0 | 0 | 1.55 KB |
#5343 | EnrichedLog |
netcoreapp3.1 | 3.97μs | 4.74ns | 18.4ns | 0.0202 | 0 | 0 | 1.6 KB |
#5343 | EnrichedLog |
net472 | 4.33μs | 1.68ns | 6.29ns | 0.316 | 0 | 0 | 1.99 KB |
Benchmarks.Trace.SpanBenchmark - Faster 🎉 Same allocations ✔️
Faster 🎉 in #5343
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0
1.146
695.70
607.19
Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0 | 1.146 | 695.70 | 607.19 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | StartFinishSpan |
net6.0 | 483ns | 0.591ns | 2.21ns | 0.00776 | 0 | 0 | 552 B |
master | StartFinishSpan |
netcoreapp3.1 | 757ns | 1.42ns | 5.5ns | 0.0073 | 0 | 0 | 552 B |
master | StartFinishSpan |
net472 | 708ns | 0.949ns | 3.29ns | 0.0879 | 0 | 0 | 554 B |
master | StartFinishScope |
net6.0 | 697ns | 1.25ns | 4.86ns | 0.00956 | 0 | 0 | 672 B |
master | StartFinishScope |
netcoreapp3.1 | 878ns | 1.42ns | 5.49ns | 0.00895 | 0 | 0 | 672 B |
master | StartFinishScope |
net472 | 901ns | 1.66ns | 6.43ns | 0.101 | 0 | 0 | 634 B |
#5343 | StartFinishSpan |
net6.0 | 524ns | 0.664ns | 2.57ns | 0.00768 | 0 | 0 | 552 B |
#5343 | StartFinishSpan |
netcoreapp3.1 | 705ns | 0.686ns | 2.66ns | 0.00766 | 0 | 0 | 552 B |
#5343 | StartFinishSpan |
net472 | 772ns | 0.313ns | 1.13ns | 0.0879 | 0 | 0 | 554 B |
#5343 | StartFinishScope |
net6.0 | 607ns | 0.994ns | 3.85ns | 0.00928 | 0 | 0 | 672 B |
#5343 | StartFinishScope |
netcoreapp3.1 | 865ns | 1.05ns | 4.08ns | 0.00886 | 0 | 0 | 672 B |
#5343 | StartFinishScope |
net472 | 940ns | 1.22ns | 4.74ns | 0.1 | 0 | 0 | 634 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | RunOnMethodBegin |
net6.0 | 638ns | 1.08ns | 4.18ns | 0.00937 | 0 | 0 | 672 B |
master | RunOnMethodBegin |
netcoreapp3.1 | 1.05μs | 1.53ns | 5.92ns | 0.00914 | 0 | 0 | 672 B |
master | RunOnMethodBegin |
net472 | 1.22μs | 1.84ns | 7.13ns | 0.1 | 0 | 0 | 634 B |
#5343 | RunOnMethodBegin |
net6.0 | 649ns | 0.99ns | 3.84ns | 0.00932 | 0 | 0 | 672 B |
#5343 | RunOnMethodBegin |
netcoreapp3.1 | 1.03μs | 1.32ns | 4.93ns | 0.00931 | 0 | 0 | 672 B |
#5343 | RunOnMethodBegin |
net472 | 1.13μs | 1ns | 3.75ns | 0.1 | 0 | 0 | 634 B |
Throughput/Crank Report:zap:Throughput results for AspNetCoreSimpleController comparing the following branches/commits: Cases where throughput results for the PR are worse than latest master (5% drop or greater), results are shown in red. Note that these results are based on a single point-in-time result for each branch. For full results, see one of the many, many dashboards! gantt
title Throughput Linux x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5343) (11.249M) : 0, 11248750
master (10.699M) : 0, 10699271
benchmarks/2.9.0 (10.973M) : 0, 10972668
section Automatic
This PR (5343) (7.740M) : 0, 7739634
master (7.452M) : 0, 7452401
benchmarks/2.9.0 (7.971M) : 0, 7971440
section Trace stats
This PR (5343) (7.980M) : 0, 7980474
master (7.779M) : 0, 7778567
section Manual
This PR (5343) (9.642M) : 0, 9642498
master (9.257M) : 0, 9257432
section Manual + Automatic
This PR (5343) (7.331M) : 0, 7331281
master (7.107M) : 0, 7106665
section Version Conflict
This PR (5343) (6.586M) : 0, 6586259
master (6.474M) : 0, 6473551
gantt
title Throughput Linux arm64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5343) (9.654M) : 0, 9654140
master (9.619M) : 0, 9619455
benchmarks/2.9.0 (9.671M) : 0, 9670561
section Automatic
This PR (5343) (6.705M) : 0, 6705403
master (6.638M) : 0, 6638391
section Trace stats
This PR (5343) (6.941M) : 0, 6940634
master (6.953M) : 0, 6953277
section Manual
This PR (5343) (8.302M) : 0, 8301666
master (8.186M) : 0, 8186485
section Manual + Automatic
This PR (5343) (6.212M) : 0, 6211947
master (6.173M) : 0, 6173255
section Version Conflict
This PR (5343) (5.701M) : 0, 5701063
master (5.708M) : 0, 5707836
gantt
title Throughput Windows x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5343) (9.700M) : 0, 9699742
master (9.742M) : 0, 9742113
benchmarks/2.9.0 (9.723M) : 0, 9723215
section Automatic
This PR (5343) (6.893M) : 0, 6892951
master (6.856M) : 0, 6855830
benchmarks/2.9.0 (7.095M) : 0, 7094697
section Trace stats
This PR (5343) (7.303M) : 0, 7303454
master (7.248M) : 0, 7248493
section Manual
This PR (5343) (8.713M) : 0, 8713270
master (8.661M) : 0, 8660963
section Manual + Automatic
This PR (5343) (6.639M) : 0, 6638901
master (6.578M) : 0, 6577645
section Version Conflict
This PR (5343) (6.000M) : 0, 6000019
master (6.055M) : 0, 6054820
gantt
title Throughput Linux x64 (ASM) (Total requests)
dateFormat X
axisFormat %s
section Baseline
benchmarks/2.9.0 (20.689M) : 0, 20689363
section No attack
benchmarks/2.9.0 (20.448M) : 0, 20448059
section Attack
benchmarks/2.9.0 (17.167M) : 0, 17166673
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, though I'm taking your word for it on the actual snapshots!
var snapshotSuffix = version switch | ||
{ | ||
{ Major: 7, Minor: >= 17 } => "7_17", | ||
{ Major: 7, Minor: >= 13 } => "7_13", | ||
{ Major: 7, Minor: >= 10 } => "7_10", | ||
_ => "7_04" | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:chefkiss:
...r/test/test-applications/integrations/Samples.AzureServiceBus/Samples.AzureServiceBus.csproj
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shows that we get a lot of isolated spans for (e.g. complete
, defer
, peek
) etc. I assume that's all as expected, just flagging 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I added a new Detailed snapshot changes
in the PR description that is an exhaustive description of how the snapshot changes between library versions 😄
- Update PackageVersionsGeneratorDefinitions.json for the Azure.Messaging.ServiceBus NuGet packages we test - Added a small code comment that explains the difference in Message spans
Summary of changes
Adds multi-version package testing for Azure Service Bus and tests versions 7.4.x - 7.17.x.
Reason for change
OpenTelemetry support for Azure Service Bus starts with Azure.Messaging.ServiceBus v7.4.0 according to the Introducing experimental OpenTelemetry support in the Azure SDK for .NET, so we want to test all the versions that implement the OpenTelemetry support.
Implementation details
AzureServiceBusTags
since it is the previous form of the "messaging.destination.name" tag in the Azure Service Bus instrumentationIsPresent
andIsOptional
tag assertions to take fallback values, in the case where tags change over package versions. These assert that only one of the specified tag names is present and will error if multiple are present.Test coverage
Expanded snapshot testing. The Azure Service Bus integration tests do not run in CI, so I tested this on my dev machine by doing the following:
ASB_CONNECTION_STRING
to the connection string of a Service Bus in Azure that is session-enabled.\tracer\build.ps1 BuildAndRunWindowsIntegrationTests --skip PrintSnapshotsDiff -TestAllPackageVersions --framework net462 --filter AzureServiceBusTests --SampleName Samples.AzureServiceBus
Detailed snapshot changes
Incremental changes by version
v7.04.0
: Baseline snapshotv7.10.0
: Adds new Message spans (17) that becomes part of active tracev7.13.0
:span.kind: client
=>span.kind: consumer
for the following spans:client.request
toservicebus.process|servicebus.publish|servicebus.receive|servicebus.settle
for message operations (not management operations)kind
messaging.operation
az.schema_url: https://opentelemetry.io/schemas/1.17.0
component: servicebus
=>messaging.system: servicebus
message_bus.destination
=>messaging.source.name|messaging.destination.name
peer.address
=>net.peer.name
v7.17.0
:az.schema_url: https://opentelemetry.io/schemas/1.17.0
=>az.schema_url: https://opentelemetry.io/schemas/1.23.0
otel.library.name: Azure.Messaging.ServiceBus
=>otel.library.name: Azure.Messaging.ServiceBus.Message
for Message spansnet.peer.name: localhost
=>server.address: localhost
messaging.source.name: samples-azureservicebus-queue
=>messaging.destination.name: samples-azureservicebus-queue
for the following spans:_dd.peer.service.source tag
Other details
N/A