[SVLS-5559] Inject trace context into AWS Step Functions input attribute
Summary of changes
Adds an instrumentation for AWS SDK Step Functions. This enables tracing for when a Lambda function invokes a Step Function. Trace context is injected into the Step Function's StartExecution.Input object.
Reason for change
We want to increase support for step function tracing as a whole. This PR supports tracing a step function that has been called downstream of a Lambda function.
Implementation details
The Logs to Traces Reducer will read the trace context from the Step Function logs and create a Step Function span.
Test coverage
Added test coverage for this instrumentation.
Other details
Datadog Report
Branch report: dylan/sfn-tracing
Commit report: 9dc4830
Test service: dd-trace-dotnet
:white_check_mark: 0 Failed, 460657 Passed, 3616 Skipped, 32h 43m 2.39s Total Time :hourglass: 3 Performance Regressions
:hourglass: Performance Regressions vs Default Branch (3)
Execution-Time Benchmarks Report :stopwatch:
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:
- Welch test with statistical test for significance of 5%
- Only results indicating a difference greater than 5% and 5 ms are considered.
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 (6171) - mean (69ms) : 67, 72
. : milestone, 69,
master - mean (69ms) : 67, 72
. : milestone, 69,
section CallTarget+Inlining+NGEN
This PR (6171) - mean (994ms) : 972, 1016
. : milestone, 994,
master - mean (988ms) : 965, 1012
. : milestone, 988,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6171) - mean (103ms) : 100, 105
. : milestone, 103,
master - mean (102ms) : 100, 104
. : milestone, 102,
section CallTarget+Inlining+NGEN
This PR (6171) - mean (673ms) : 661, 686
. : milestone, 673,
master - mean (674ms) : 657, 692
. : milestone, 674,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6171) - mean (90ms) : 87, 92
. : milestone, 90,
master - mean (89ms) : 87, 92
. : milestone, 89,
section CallTarget+Inlining+NGEN
This PR (6171) - mean (630ms) : 611, 648
. : milestone, 630,
master - mean (630ms) : 614, 647
. : milestone, 630,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6171) - mean (191ms) : 186, 195
. : milestone, 191,
master - mean (190ms) : 185, 196
. : milestone, 190,
section CallTarget+Inlining+NGEN
This PR (6171) - mean (1,100ms) : 1070, 1130
. : milestone, 1100,
master - mean (1,104ms) : 1074, 1134
. : milestone, 1104,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6171) - mean (270ms) : 266, 274
. : milestone, 270,
master - mean (271ms) : 265, 276
. : milestone, 271,
section CallTarget+Inlining+NGEN
This PR (6171) - mean (866ms) : 834, 898
. : milestone, 866,
master - mean (863ms) : 835, 892
. : milestone, 863,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6171) - mean (262ms) : 258, 267
. : milestone, 262,
master - mean (262ms) : 258, 266
. : milestone, 262,
section CallTarget+Inlining+NGEN
This PR (6171) - mean (845ms) : 807, 883
. : milestone, 845,
master - mean (847ms) : 817, 878
. : milestone, 847,
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 (6171) (11.165M) : 0, 11165485
master (11.197M) : 0, 11196771
benchmarks/2.9.0 (11.033M) : 0, 11032866
section Automatic
This PR (6171) (7.283M) : 0, 7282607
master (7.320M) : 0, 7319784
benchmarks/2.9.0 (7.786M) : 0, 7785853
section Trace stats
master (7.655M) : 0, 7655437
section Manual
master (11.345M) : 0, 11344859
section Manual + Automatic
This PR (6171) (6.733M) : 0, 6733320
master (6.798M) : 0, 6797771
section DD_TRACE_ENABLED=0
master (10.337M) : 0, 10337260
gantt
title Throughput Linux arm64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (6171) (9.486M) : 0, 9486467
master (9.583M) : 0, 9583474
benchmarks/2.9.0 (9.495M) : 0, 9494821
section Automatic
This PR (6171) (6.569M) : 0, 6569104
master (6.519M) : 0, 6519184
section Trace stats
master (6.620M) : 0, 6620122
section Manual
master (9.722M) : 0, 9721705
section Manual + Automatic
This PR (6171) (6.051M) : 0, 6050992
master (5.807M) : 0, 5806681
section DD_TRACE_ENABLED=0
master (8.803M) : 0, 8802601
gantt
title Throughput Windows x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (6171) (8.934M) : 0, 8933933
master (9.012M) : 0, 9012435
benchmarks/2.9.0 (10.020M) : 0, 10019592
section Automatic
This PR (6171) (5.916M) : 0, 5915546
master (6.143M) : 0, 6143202
benchmarks/2.9.0 (7.255M) : 0, 7255257
section Trace stats
master (6.618M) : 0, 6618365
section Manual
master (9.211M) : 0, 9210933
section Manual + Automatic
This PR (6171) (5.583M) : 0, 5583211
master (5.404M) : 0, 5404124
section DD_TRACE_ENABLED=0
master (8.529M) : 0, 8528937
Benchmarks Report for tracer :snail:
Benchmarks for #6171 compared to master:
- 3 benchmarks are faster, with geometric mean 1.174
- 1 benchmarks have fewer allocations
The following thresholds were used for comparing the benchmark speeds:
- Mann–Whitney U test with statistical test for significance of 5%
- Only results indicating a difference greater than 10% and 0.3 ns are considered.
Allocation changes below 0.5% are ignored.
Benchmark details
Benchmarks.Trace.ActivityBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartStopWithChild |
net6.0 | 7.98μs | 45.5ns | 319ns | 0.0157 | 0.00783 | 0 | 5.61 KB |
| master | StartStopWithChild |
netcoreapp3.1 | 9.86μs | 54.6ns | 345ns | 0.0193 | 0.00482 | 0 | 5.81 KB |
| master | StartStopWithChild |
net472 | 15.9μs | 40.8ns | 153ns | 1.05 | 0.315 | 0.102 | 6.21 KB |
| #6171 | StartStopWithChild |
net6.0 | 7.91μs | 43.1ns | 320ns | 0.0117 | 0.0078 | 0 | 5.61 KB |
| #6171 | StartStopWithChild |
netcoreapp3.1 | 10.3μs | 55.5ns | 299ns | 0.02 | 0.01 | 0 | 5.81 KB |
| #6171 | StartStopWithChild |
net472 | 16.1μs | 47ns | 176ns | 1.03 | 0.297 | 0.0963 | 6.21 KB |
Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 474μs | 352ns | 1.32μs | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 639μs | 369ns | 1.43μs | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 842μs | 558ns | 2.09μs | 0.419 | 0 | 0 | 3.3 KB |
| #6171 | WriteAndFlushEnrichedTraces |
net6.0 | 487μs | 171ns | 618ns | 0 | 0 | 0 | 2.7 KB |
| #6171 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 699μs | 307ns | 1.19μs | 0 | 0 | 0 | 2.7 KB |
| #6171 | WriteAndFlushEnrichedTraces |
net472 | 860μs | 1.25μs | 4.66μs | 0.425 | 0 | 0 | 3.3 KB |
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendRequest |
net6.0 | 133μs | 625ns | 2.5μs | 0.197 | 0 | 0 | 14.47 KB |
| master | SendRequest |
netcoreapp3.1 | 145μs | 301ns | 1.16μs | 0.217 | 0 | 0 | 17.27 KB |
| master | SendRequest |
net472 | 0.00565ns | 0.0018ns | 0.00697ns | 0 | 0 | 0 | 0 b |
| #6171 | SendRequest |
net6.0 | 128μs | 396ns | 1.54μs | 0.188 | 0 | 0 | 14.47 KB |
| #6171 | SendRequest |
netcoreapp3.1 | 144μs | 311ns | 1.21μs | 0.215 | 0 | 0 | 17.27 KB |
| #6171 | SendRequest |
net472 | 0.00322ns | 0.00132ns | 0.00512ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: Fewer allocations :tada:
Fewer allocations :tada: in #6171
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0
41.71 KB
41.46 KB
-255 B
-0.61%
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 610μs | 3.41μs | 22.6μs | 0.563 | 0 | 0 | 41.71 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 666μs | 3.31μs | 19.3μs | 0.345 | 0 | 0 | 41.7 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 851μs | 4μs | 15.5μs | 8.5 | 2.55 | 0.425 | 53.28 KB |
| #6171 | WriteAndFlushEnrichedTraces |
net6.0 | 565μs | 2.79μs | 17.2μs | 0.584 | 0 | 0 | 41.46 KB |
| #6171 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 657μs | 3.03μs | 11.7μs | 0.326 | 0 | 0 | 41.75 KB |
| #6171 | WriteAndFlushEnrichedTraces |
net472 | 856μs | 4.31μs | 18.8μs | 8.13 | 2.57 | 0.428 | 53.31 KB |
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | ExecuteNonQuery |
net6.0 | 1.31μs | 1.49ns | 5.78ns | 0.0143 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
netcoreapp3.1 | 1.76μs | 4.44ns | 17.2ns | 0.0138 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
net472 | 2.11μs | 1.47ns | 5.5ns | 0.157 | 0.00106 | 0 | 987 B |
| #6171 | ExecuteNonQuery |
net6.0 | 1.3μs | 1.69ns | 6.33ns | 0.014 | 0 | 0 | 1.02 KB |
| #6171 | ExecuteNonQuery |
netcoreapp3.1 | 1.72μs | 2.2ns | 8.51ns | 0.013 | 0 | 0 | 1.02 KB |
| #6171 | ExecuteNonQuery |
net472 | 2.09μs | 2.41ns | 9.35ns | 0.156 | 0.00104 | 0 | 987 B |
Benchmarks.Trace.ElasticsearchBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #6171
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net6.0
1.136
1,382.49
1,216.68
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | CallElasticsearch |
net6.0 | 1.19μs | 0.962ns | 3.6ns | 0.0134 | 0 | 0 | 976 B |
| master | CallElasticsearch |
netcoreapp3.1 | 1.62μs | 0.705ns | 2.64ns | 0.0129 | 0 | 0 | 976 B |
| master | CallElasticsearch |
net472 | 2.55μs | 1.94ns | 7.5ns | 0.158 | 0 | 0 | 995 B |
| master | CallElasticsearchAsync |
net6.0 | 1.38μs | 0.479ns | 1.79ns | 0.0131 | 0 | 0 | 952 B |
| master | CallElasticsearchAsync |
netcoreapp3.1 | 1.71μs | 1.01ns | 3.92ns | 0.0135 | 0 | 0 | 1.02 KB |
| master | CallElasticsearchAsync |
net472 | 2.76μs | 0.999ns | 3.6ns | 0.167 | 0 | 0 | 1.05 KB |
| #6171 | CallElasticsearch |
net6.0 | 1.21μs | 0.435ns | 1.63ns | 0.0134 | 0 | 0 | 976 B |
| #6171 | CallElasticsearch |
netcoreapp3.1 | 1.57μs | 0.675ns | 2.52ns | 0.0132 | 0 | 0 | 976 B |
| #6171 | CallElasticsearch |
net472 | 2.62μs | 1.82ns | 7.03ns | 0.157 | 0 | 0 | 995 B |
| #6171 | CallElasticsearchAsync |
net6.0 | 1.22μs | 0.477ns | 1.85ns | 0.0133 | 0 | 0 | 952 B |
| #6171 | CallElasticsearchAsync |
netcoreapp3.1 | 1.66μs | 1.2ns | 4.63ns | 0.0133 | 0 | 0 | 1.02 KB |
| #6171 | CallElasticsearchAsync |
net472 | 2.79μs | 1.38ns | 5.16ns | 0.166 | 0 | 0 | 1.05 KB |
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | ExecuteAsync |
net6.0 | 1.31μs | 0.63ns | 2.36ns | 0.0132 | 0 | 0 | 952 B |
| master | ExecuteAsync |
netcoreapp3.1 | 1.61μs | 1.25ns | 4.69ns | 0.013 | 0 | 0 | 952 B |
| master | ExecuteAsync |
net472 | 1.85μs | 0.467ns | 1.81ns | 0.145 | 0 | 0 | 915 B |
| #6171 | ExecuteAsync |
net6.0 | 1.3μs | 1.04ns | 3.9ns | 0.013 | 0 | 0 | 952 B |
| #6171 | ExecuteAsync |
netcoreapp3.1 | 1.6μs | 0.421ns | 1.58ns | 0.0127 | 0 | 0 | 952 B |
| #6171 | ExecuteAsync |
net472 | 1.8μs | 0.275ns | 1.06ns | 0.145 | 0 | 0 | 915 B |
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendAsync |
net6.0 | 4.34μs | 1.56ns | 6.03ns | 0.0306 | 0 | 0 | 2.31 KB |
| master | SendAsync |
netcoreapp3.1 | 5.28μs | 2.71ns | 10.1ns | 0.037 | 0 | 0 | 2.85 KB |
| master | SendAsync |
net472 | 7.56μs | 1.72ns | 6.67ns | 0.493 | 0 | 0 | 3.12 KB |
| #6171 | SendAsync |
net6.0 | 4.5μs | 1.45ns | 5.22ns | 0.0317 | 0 | 0 | 2.31 KB |
| #6171 | SendAsync |
netcoreapp3.1 | 5.22μs | 2.29ns | 8.87ns | 0.039 | 0 | 0 | 2.85 KB |
| #6171 | SendAsync |
net472 | 7.37μs | 1.5ns | 5.41ns | 0.495 | 0 | 0 | 3.12 KB |
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 1.54μs | 0.816ns | 3.16ns | 0.0232 | 0 | 0 | 1.64 KB |
| master | EnrichedLog |
netcoreapp3.1 | 2.13μs | 1.24ns | 4.82ns | 0.0215 | 0 | 0 | 1.64 KB |
| master | EnrichedLog |
net472 | 2.59μs | 0.922ns | 3.57ns | 0.25 | 0 | 0 | 1.57 KB |
| #6171 | EnrichedLog |
net6.0 | 1.51μs | 0.648ns | 2.34ns | 0.023 | 0 | 0 | 1.64 KB |
| #6171 | EnrichedLog |
netcoreapp3.1 | 2.12μs | 3.73ns | 14.4ns | 0.0222 | 0 | 0 | 1.64 KB |
| #6171 | EnrichedLog |
net472 | 2.64μs | 3.65ns | 13.6ns | 0.249 | 0 | 0 | 1.57 KB |
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 112μs | 66.8ns | 250ns | 0.0556 | 0 | 0 | 4.28 KB |
| master | EnrichedLog |
netcoreapp3.1 | 117μs | 98.6ns | 369ns | 0 | 0 | 0 | 4.28 KB |
| master | EnrichedLog |
net472 | 151μs | 129ns | 500ns | 0.676 | 0.225 | 0 | 4.46 KB |
| #6171 | EnrichedLog |
net6.0 | 113μs | 157ns | 566ns | 0.056 | 0 | 0 | 4.28 KB |
| #6171 | EnrichedLog |
netcoreapp3.1 | 117μs | 210ns | 813ns | 0.0575 | 0 | 0 | 4.28 KB |
| #6171 | EnrichedLog |
net472 | 152μs | 143ns | 553ns | 0.69 | 0.23 | 0 | 4.46 KB |
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 3.02μs | 1.22ns | 4.23ns | 0.0302 | 0 | 0 | 2.2 KB |
| master | EnrichedLog |
netcoreapp3.1 | 4.12μs | 0.99ns | 3.7ns | 0.0289 | 0 | 0 | 2.2 KB |
| master | EnrichedLog |
net472 | 4.93μs | 0.559ns | 1.94ns | 0.32 | 0 | 0 | 2.02 KB |
| #6171 | EnrichedLog |
net6.0 | 3.08μs | 1.12ns | 4.2ns | 0.0308 | 0 | 0 | 2.2 KB |
| #6171 | EnrichedLog |
netcoreapp3.1 | 4.16μs | 2.26ns | 8.74ns | 0.0291 | 0 | 0 | 2.2 KB |
| #6171 | EnrichedLog |
net472 | 4.97μs | 0.935ns | 3.62ns | 0.319 | 0 | 0 | 2.02 KB |
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendReceive |
net6.0 | 1.39μs | 0.736ns | 2.85ns | 0.0161 | 0 | 0 | 1.14 KB |
| master | SendReceive |
netcoreapp3.1 | 1.89μs | 0.58ns | 2.17ns | 0.015 | 0 | 0 | 1.14 KB |
| master | SendReceive |
net472 | 2.15μs | 0.962ns | 3.72ns | 0.183 | 0 | 0 | 1.16 KB |
| #6171 | SendReceive |
net6.0 | 1.36μs | 4.02ns | 15.6ns | 0.0161 | 0 | 0 | 1.14 KB |
| #6171 | SendReceive |
netcoreapp3.1 | 1.81μs | 1.33ns | 4.96ns | 0.0153 | 0 | 0 | 1.14 KB |
| #6171 | SendReceive |
net472 | 2.12μs | 0.79ns | 2.85ns | 0.184 | 0 | 0 | 1.16 KB |
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 2.68μs | 1.07ns | 3.85ns | 0.0215 | 0 | 0 | 1.6 KB |
| master | EnrichedLog |
netcoreapp3.1 | 3.97μs | 6.71ns | 26ns | 0.0217 | 0 | 0 | 1.65 KB |
| master | EnrichedLog |
net472 | 4.42μs | 2.71ns | 10.5ns | 0.322 | 0 | 0 | 2.04 KB |
| #6171 | EnrichedLog |
net6.0 | 2.64μs | 1.08ns | 4.2ns | 0.0225 | 0 | 0 | 1.6 KB |
| #6171 | EnrichedLog |
netcoreapp3.1 | 3.81μs | 4.94ns | 19.1ns | 0.0211 | 0 | 0 | 1.65 KB |
| #6171 | EnrichedLog |
net472 | 4.46μs | 4.06ns | 15.7ns | 0.323 | 0 | 0 | 2.04 KB |
Benchmarks.Trace.SpanBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #6171
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1
1.218
795.31
652.88
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472
1.170
867.10
740.83
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartFinishSpan |
net6.0 | 395ns | 0.495ns | 1.92ns | 0.00804 | 0 | 0 | 576 B |
| master | StartFinishSpan |
netcoreapp3.1 | 600ns | 0.716ns | 2.77ns | 0.00779 | 0 | 0 | 576 B |
| master | StartFinishSpan |
net472 | 664ns | 0.883ns | 3.3ns | 0.0916 | 0 | 0 | 578 B |
| master | StartFinishScope |
net6.0 | 528ns | 0.806ns | 3.12ns | 0.00988 | 0 | 0 | 696 B |
| master | StartFinishScope |
netcoreapp3.1 | 795ns | 0.975ns | 3.65ns | 0.00913 | 0 | 0 | 696 B |
| master | StartFinishScope |
net472 | 873ns | 4.19ns | 16.8ns | 0.104 | 0 | 0 | 658 B |
| #6171 | StartFinishSpan |
net6.0 | 416ns | 0.561ns | 2.17ns | 0.00806 | 0 | 0 | 576 B |
| #6171 | StartFinishSpan |
netcoreapp3.1 | 552ns | 0.789ns | 3.05ns | 0.0077 | 0 | 0 | 576 B |
| #6171 | StartFinishSpan |
net472 | 596ns | 0.997ns | 3.86ns | 0.0917 | 0 | 0 | 578 B |
| #6171 | StartFinishScope |
net6.0 | 535ns | 1.09ns | 4.22ns | 0.00962 | 0 | 0 | 696 B |
| #6171 | StartFinishScope |
netcoreapp3.1 | 654ns | 0.923ns | 3.45ns | 0.0092 | 0 | 0 | 696 B |
| #6171 | StartFinishScope |
net472 | 739ns | 1.18ns | 4.57ns | 0.104 | 0 | 0 | 658 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | RunOnMethodBegin |
net6.0 | 650ns | 0.353ns | 1.37ns | 0.0098 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 924ns | 0.793ns | 3.07ns | 0.00929 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
net472 | 1.06μs | 0.795ns | 3.08ns | 0.104 | 0 | 0 | 658 B |
| #6171 | RunOnMethodBegin |
net6.0 | 642ns | 1ns | 3.87ns | 0.00971 | 0 | 0 | 696 B |
| #6171 | RunOnMethodBegin |
netcoreapp3.1 | 983ns | 1.63ns | 6.31ns | 0.00958 | 0 | 0 | 696 B |
| #6171 | RunOnMethodBegin |
net472 | 1.05μs | 2.83ns | 11ns | 0.104 | 0 | 0 | 658 B |
Datadog Report
Branch report: dylan/sfn-tracing
Commit report: f372256
Test service: dd-trace-dotnet
:white_check_mark: 0 Failed, 558148 Passed, 5360 Skipped, 46h 44m 23.38s Total Time
/merge
Devflow running: /merge
View all feedbacks in Devflow UI.
2025-02-11 19:30:31 UTC :information_source: MergeQueue: pull request added to the queue
The median merge time in master is 0s.
2025-02-11 20:05:56 UTC :x: MergeQueue: The checks failed on this merge request
Tests failed on this commit 8ab757f:
What to do next?
- Investigate the failures and when ready, re-add your pull request to the queue!
- If your PR checks are green, try to rebase/merge. It might be because the CI run is a bit old.
- Any question, go check the FAQ.
/merge
Devflow running: /merge
View all feedbacks in Devflow UI.
2025-02-11 20:45:46 UTC :information_source: MergeQueue: pull request added to the queue
The median merge time in master is 0s.
2025-02-11 21:20:20 UTC :x: MergeQueue: The checks failed on this merge request
Tests failed on this commit cbcf9f4:
What to do next?
- Investigate the failures and when ready, re-add your pull request to the queue!
- If your PR checks are green, try to rebase/merge. It might be because the CI run is a bit old.
- Any question, go check the FAQ.