Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @lucaspimentel and the rest of your teammates on |
Datadog ReportBranch report: ✅ 0 Failed, 369031 Passed, 2120 Skipped, 16h 21m 10.52s Total Time |
049b7ea to
33ab4e6
Compare
481ba3f to
c3c7e69
Compare
85d9334 to
421d2ff
Compare
c3c7e69 to
218e6a7
Compare
421d2ff to
c758827
Compare
218e6a7 to
94afec5
Compare
c758827 to
26cde15
Compare
94afec5 to
3f25685
Compare
26cde15 to
3d56729
Compare
3f25685 to
b050a90
Compare
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 (6158) - mean (69ms) : 68, 71
. : milestone, 69,
master - mean (70ms) : 68, 71
. : milestone, 70,
section CallTarget+Inlining+NGEN
This PR (6158) - mean (1,112ms) : 1092, 1132
. : milestone, 1112,
master - mean (1,112ms) : 1092, 1131
. : milestone, 1112,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6158) - mean (108ms) : 106, 110
. : milestone, 108,
master - mean (109ms) : 107, 111
. : milestone, 109,
section CallTarget+Inlining+NGEN
This PR (6158) - mean (769ms) : 752, 785
. : milestone, 769,
master - mean (773ms) : 763, 784
. : milestone, 773,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6158) - mean (91ms) : 89, 94
. : milestone, 91,
master - mean (92ms) : 90, 94
. : milestone, 92,
section CallTarget+Inlining+NGEN
This PR (6158) - mean (726ms) : 708, 743
. : milestone, 726,
master - mean (731ms) : 713, 749
. : milestone, 731,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6158) - mean (191ms) : 188, 194
. : milestone, 191,
master - mean (190ms) : 187, 193
. : milestone, 190,
section CallTarget+Inlining+NGEN
This PR (6158) - mean (1,222ms) : 1197, 1248
. : milestone, 1222,
master - mean (1,222ms) : 1199, 1246
. : milestone, 1222,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6158) - mean (276ms) : 272, 281
. : milestone, 276,
master - mean (277ms) : 272, 282
. : milestone, 277,
section CallTarget+Inlining+NGEN
This PR (6158) - mean (950ms) : 932, 968
. : milestone, 950,
master - mean (950ms) : 929, 970
. : milestone, 950,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6158) - mean (264ms) : 260, 268
. : milestone, 264,
master - mean (265ms) : 260, 269
. : milestone, 265,
section CallTarget+Inlining+NGEN
This PR (6158) - mean (932ms) : 915, 949
. : milestone, 932,
master - mean (934ms) : 910, 958
. : milestone, 934,
|
Benchmarks Report for tracer 🐌Benchmarks for #6158 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 - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.SpanBenchmark - Slower
|
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net6.0 | 1.342 | 402.38 | 539.89 |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartFinishSpan |
net6.0 | 403ns | 0.218ns | 0.843ns | 0.00809 | 0 | 0 | 576 B |
| master | StartFinishSpan |
netcoreapp3.1 | 546ns | 0.322ns | 1.25ns | 0.00788 | 0 | 0 | 576 B |
| master | StartFinishSpan |
net472 | 775ns | 0.826ns | 3.2ns | 0.0918 | 0 | 0 | 578 B |
| master | StartFinishScope |
net6.0 | 487ns | 0.419ns | 1.57ns | 0.00976 | 0 | 0 | 696 B |
| master | StartFinishScope |
netcoreapp3.1 | 704ns | 0.852ns | 3.3ns | 0.00926 | 0 | 0 | 696 B |
| master | StartFinishScope |
net472 | 898ns | 1.22ns | 4.73ns | 0.104 | 0 | 0 | 658 B |
| #6158 | StartFinishSpan |
net6.0 | 540ns | 0.195ns | 0.757ns | 0.0079 | 0 | 0 | 576 B |
| #6158 | StartFinishSpan |
netcoreapp3.1 | 574ns | 0.558ns | 2.16ns | 0.00785 | 0 | 0 | 576 B |
| #6158 | StartFinishSpan |
net472 | 736ns | 0.804ns | 3.11ns | 0.0917 | 0 | 0 | 578 B |
| #6158 | StartFinishScope |
net6.0 | 492ns | 0.301ns | 1.13ns | 0.00987 | 0 | 0 | 696 B |
| #6158 | StartFinishScope |
netcoreapp3.1 | 667ns | 0.926ns | 3.59ns | 0.00928 | 0 | 0 | 696 B |
| #6158 | StartFinishScope |
net472 | 878ns | 0.68ns | 2.64ns | 0.104 | 0 | 0 | 658 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 | 593ns | 0.508ns | 1.97ns | 0.00986 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 972ns | 0.904ns | 3.5ns | 0.00947 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
net472 | 1.17μs | 1.3ns | 5.02ns | 0.104 | 0 | 0 | 658 B |
| #6158 | RunOnMethodBegin |
net6.0 | 610ns | 0.702ns | 2.72ns | 0.00979 | 0 | 0 | 696 B |
| #6158 | RunOnMethodBegin |
netcoreapp3.1 | 902ns | 0.713ns | 2.67ns | 0.00905 | 0 | 0 | 696 B |
| #6158 | RunOnMethodBegin |
net472 | 1.17μs | 1.09ns | 4.21ns | 0.104 | 0 | 0 | 658 B |
3d56729 to
be793d8
Compare
Throughput/Crank Report ⚡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 (6158) (11.190M) : 0, 11190158
master (11.131M) : 0, 11130779
benchmarks/2.9.0 (11.033M) : 0, 11032866
section Automatic
This PR (6158) (7.271M) : 0, 7271217
master (7.310M) : 0, 7310157
benchmarks/2.9.0 (7.786M) : 0, 7785853
section Trace stats
master (7.599M) : 0, 7598556
section Manual
master (11.073M) : 0, 11072548
section Manual + Automatic
This PR (6158) (6.737M) : 0, 6737409
master (6.775M) : 0, 6775349
section DD_TRACE_ENABLED=0
master (10.251M) : 0, 10251396
gantt
title Throughput Linux arm64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (6158) (9.634M) : 0, 9634399
master (9.713M) : 0, 9712554
benchmarks/2.9.0 (9.495M) : 0, 9494821
section Automatic
This PR (6158) (6.356M) : 0, 6355927
master (6.514M) : 0, 6513986
section Trace stats
master (6.710M) : 0, 6710317
section Manual
master (9.670M) : 0, 9669749
section Manual + Automatic
This PR (6158) (5.927M) : 0, 5926961
master (6.015M) : 0, 6015065
section DD_TRACE_ENABLED=0
master (8.772M) : 0, 8772254
gantt
title Throughput Windows x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (6158) (9.975M) : 0, 9974890
master (10.153M) : 0, 10152752
benchmarks/2.9.0 (10.020M) : 0, 10019592
section Automatic
This PR (6158) (6.503M) : 0, 6503265
master (6.377M) : 0, 6376641
benchmarks/2.9.0 (7.255M) : 0, 7255257
section Trace stats
master (7.126M) : 0, 7126124
section Manual
master (10.105M) : 0, 10104968
section Manual + Automatic
This PR (6158) (6.222M) : 0, 6222391
master (5.901M) : 0, 5901347
section DD_TRACE_ENABLED=0
master (9.225M) : 0, 9225046
|
be793d8 to
c2e67f9
Compare
b050a90 to
0b9cdb2
Compare
bf56863 to
cdae7b7
Compare
0b9cdb2 to
f471d76
Compare
cdae7b7 to
b1144ee
Compare
f471d76 to
1f82c57
Compare
b1144ee to
7c1cce4
Compare
c2e5057 to
2a52921
Compare

Summary of changes
Add a baggage propagator, and inject/extract baggage everywhere we already inject/extract trace context.
Reason for change
Adding support for OpenTelemetry baggage.
Implementation details
W3CBaggagePropagatorheader_style:baggagemetric tag"baggage"value forDD_TRACE_PROPAGATION_STYLEand friends, used bySpanContextPropagatorFactoryDD_TRACE_BAGGAGE_MAX_ITEMSandDD_TRACE_BAGGAGE_MAX_BYTESconfig_norm_rules.json)Test coverage
SpanContextPropagatorFactoryTestsfor"baggage"➡️W3CBaggagePropagatorW3CBaggagePropagatorTestswith inject/extract testsOther details
n/a