dd-trace-dotnet icon indicating copy to clipboard operation
dd-trace-dotnet copied to clipboard

DSMS-90: Flush DSM stats on Lambda Stop

Open robcarlan-datadog opened this issue 5 months ago • 3 comments

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

robcarlan-datadog avatar Jun 03 '25 18:06 robcarlan-datadog

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.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7054) - mean (72ms)  : 71, 73
     .   : milestone, 72,
    master - mean (72ms)  : 70, 73
     .   : milestone, 72,

    section Baseline
    This PR (7054) - mean (68ms)  : 65, 71
     .   : milestone, 68,
    master - mean (68ms)  : 66, 71
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (7054) - mean (1,046ms)  : 1029, 1062
     .   : milestone, 1046,
    master - mean (1,052ms)  : 1026, 1078
     .   : milestone, 1052,

gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7054) - mean (107ms)  : 106, 108
     .   : milestone, 107,
    master - mean (109ms)  : 107, 110
     .   : milestone, 109,

    section Baseline
    This PR (7054) - mean (106ms)  : 104, 108
     .   : milestone, 106,
    master - mean (108ms)  : 106, 110
     .   : milestone, 108,

    section CallTarget+Inlining+NGEN
    This PR (7054) - mean (730ms)  : 717, 743
     .   : milestone, 730,
    master - mean (730ms)  : 716, 744
     .   : milestone, 730,

gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7054) - mean (95ms)  : 94, 96
     .   : milestone, 95,
    master - mean (96ms)  : 94, 97
     .   : milestone, 96,

    section Baseline
    This PR (7054) - mean (94ms)  : 92, 96
     .   : milestone, 94,
    master - mean (95ms)  : 93, 97
     .   : milestone, 95,

    section CallTarget+Inlining+NGEN
    This PR (7054) - mean (694ms)  : 675, 712
     .   : milestone, 694,
    master - mean (693ms)  : 675, 711
     .   : milestone, 693,

gantt
    title Execution time (ms) FakeDbCommand (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7054) - mean (94ms)  : 92, 95
     .   : milestone, 94,
    master - mean (95ms)  : 93, 97
     .   : milestone, 95,

    section Baseline
    This PR (7054) - mean (93ms)  : 91, 95
     .   : milestone, 93,
    master - mean (94ms)  : 92, 96
     .   : milestone, 94,

    section CallTarget+Inlining+NGEN
    This PR (7054) - mean (622ms)  : 611, 633
     .   : milestone, 622,
    master - mean (636ms)  : 622, 649
     .   : milestone, 636,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7054) - mean (194ms)  : 185, 203
     .   : milestone, 194,
    master - mean (194ms)  : 187, 201
     .   : milestone, 194,

    section Baseline
    This PR (7054) - mean (191ms)  : 181, 202
     .   : milestone, 191,
    master - mean (191ms)  : 180, 202
     .   : milestone, 191,

    section CallTarget+Inlining+NGEN
    This PR (7054) - mean (1,154ms)  : 1113, 1194
     .   : milestone, 1154,
    master - mean (1,147ms)  : 1110, 1184
     .   : milestone, 1147,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7054) - mean (274ms)  : 263, 284
     .   : milestone, 274,
    master - mean (276ms)  : 265, 286
     .   : milestone, 276,

    section Baseline
    This PR (7054) - mean (272ms)  : 264, 281
     .   : milestone, 272,
    master - mean (276ms)  : 267, 286
     .   : milestone, 276,

    section CallTarget+Inlining+NGEN
    This PR (7054) - mean (917ms)  : 888, 945
     .   : milestone, 917,
    master - mean (921ms)  : 890, 951
     .   : milestone, 921,

gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7054) - mean (271ms)  : 259, 282
     .   : milestone, 271,
    master - mean (271ms)  : 261, 281
     .   : milestone, 271,

    section Baseline
    This PR (7054) - mean (269ms)  : 260, 277
     .   : milestone, 269,
    master - mean (269ms)  : 259, 280
     .   : milestone, 269,

    section CallTarget+Inlining+NGEN
    This PR (7054) - mean (910ms)  : 881, 940
     .   : milestone, 910,
    master - mean (911ms)  : 880, 943
     .   : milestone, 911,

gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7054) - mean (267ms)  : 259, 275
     .   : milestone, 267,
    master - mean (268ms)  : 258, 279
     .   : milestone, 268,

    section Baseline
    This PR (7054) - mean (267ms)  : 258, 276
     .   : milestone, 267,
    master - mean (268ms)  : 257, 279
     .   : milestone, 268,

    section CallTarget+Inlining+NGEN
    This PR (7054) - mean (814ms)  : 792, 835
     .   : milestone, 814,
    master - mean (820ms)  : 796, 845
     .   : milestone, 820,

andrewlock avatar Jun 03 '25 19:06 andrewlock

Benchmarks

Benchmarks Report for benchmark platform :snail:

Benchmarks for #7054 compared to master:

  • 2 benchmarks are slower, with geometric mean 1.526
  • 4 benchmarks have fewer allocations
  • 4 benchmarks have more 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 10.6μs 59ns 378ns 0 0 0 5.48 KB
master StartStopWithChild netcoreapp3.1 13.8μs 54.8ns 212ns 0 0 0 5.68 KB
master StartStopWithChild net472 21.7μs 119ns 692ns 0.98 0.327 0.109 6.03 KB
#7054 StartStopWithChild net6.0 10.5μs 56.5ns 309ns 0 0 0 5.48 KB
#7054 StartStopWithChild netcoreapp3.1 13.7μs 69.2ns 317ns 0 0 0 5.67 KB
#7054 StartStopWithChild net472 21.5μs 120ns 795ns 0.968 0.323 0.108 6.03 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 948μs 217ns 839ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 96.7ns 375ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.2ms 116ns 449ns 0 0 0 3.31 KB
#7054 WriteAndFlushEnrichedTraces net6.0 955μs 115ns 445ns 0 0 0 2.71 KB
#7054 WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 169ns 656ns 0 0 0 2.7 KB
#7054 WriteAndFlushEnrichedTraces net472 1.19ms 60.3ns 217ns 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - 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 AllCycleSimpleBody net6.0 335μs 164ns 614ns 0 0 0 198.83 KB
master AllCycleSimpleBody netcoreapp3.1 494μs 277ns 1.07μs 0 0 0 206.58 KB
master AllCycleSimpleBody net472 456μs 114ns 427ns 37.9 2.23 0 247.06 KB
master AllCycleMoreComplexBody net6.0 345μs 1.71μs 7.85μs 0 0 0 202.33 KB
master AllCycleMoreComplexBody netcoreapp3.1 524μs 311ns 1.2μs 0 0 0 210 KB
master AllCycleMoreComplexBody net472 461μs 129ns 483ns 39.4 2.31 0 250.56 KB
master ObjectExtractorSimpleBody net6.0 329ns 1.57ns 6.47ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 421ns 2.1ns 9.87ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 303ns 0.0344ns 0.129ns 0.0443 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.43μs 1.59ns 5.96ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 8.08μs 29.8ns 115ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.76μs 4.59ns 17.8ns 0.572 0 0 3.8 KB
#7054 AllCycleSimpleBody net6.0 341μs 390ns 1.51μs 0 0 0 198.83 KB
#7054 AllCycleSimpleBody netcoreapp3.1 524μs 1.6μs 6.2μs 0 0 0 206.58 KB
#7054 AllCycleSimpleBody net472 458μs 111ns 414ns 37.9 2.23 0 247.06 KB
#7054 AllCycleMoreComplexBody net6.0 342μs 1.69μs 7.55μs 0 0 0 202.33 KB
#7054 AllCycleMoreComplexBody netcoreapp3.1 528μs 2.5μs 9.7μs 0 0 0 210 KB
#7054 AllCycleMoreComplexBody net472 460μs 121ns 435ns 37.9 2.23 0 250.57 KB
#7054 ObjectExtractorSimpleBody net6.0 328ns 0.105ns 0.378ns 0 0 0 280 B
#7054 ObjectExtractorSimpleBody netcoreapp3.1 404ns 2.19ns 12.8ns 0 0 0 272 B
#7054 ObjectExtractorSimpleBody net472 301ns 0.0522ns 0.195ns 0.0439 0 0 281 B
#7054 ObjectExtractorMoreComplexBody net6.0 6.44μs 18.9ns 73.2ns 0 0 0 3.78 KB
#7054 ObjectExtractorMoreComplexBody netcoreapp3.1 7.79μs 36.5ns 146ns 0 0 0 3.69 KB
#7054 ObjectExtractorMoreComplexBody net472 6.71μs 1.21ns 4.38ns 0.571 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - 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 EncodeArgs net6.0 77.7μs 140ns 544ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 96.5μs 353ns 1.37μs 0 0 0 32.4 KB
master EncodeArgs net472 108μs 5.68ns 20.5ns 4.89 0 0 32.51 KB
master EncodeLegacyArgs net6.0 141μs 232ns 897ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 197μs 135ns 507ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 263μs 31.6ns 122ns 0 0 0 2.16 KB
#7054 EncodeArgs net6.0 77.9μs 145ns 560ns 0 0 0 32.4 KB
#7054 EncodeArgs netcoreapp3.1 98.4μs 197ns 765ns 0 0 0 32.4 KB
#7054 EncodeArgs net472 110μs 50.5ns 195ns 4.95 0 0 32.51 KB
#7054 EncodeLegacyArgs net6.0 148μs 39.2ns 152ns 0 0 0 2.15 KB
#7054 EncodeLegacyArgs netcoreapp3.1 196μs 135ns 487ns 0 0 0 2.14 KB
#7054 EncodeLegacyArgs net472 261μs 45.2ns 175ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #7054

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.067 417,712.28 863,220.37

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 400μs 109ns 410ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 418μs 318ns 1.15μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 440μs 27.6ns 107ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 290μs 82ns 318ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 676μs 14.4μs 144μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 314μs 20.2ns 75.4ns 0 0 0 2.29 KB
#7054 RunWafRealisticBenchmark net6.0 393μs 51.4ns 199ns 0 0 0 4.55 KB
#7054 RunWafRealisticBenchmark netcoreapp3.1 846μs 5.95μs 59.2μs 0 0 0 4.48 KB
#7054 RunWafRealisticBenchmark net472 432μs 61.6ns 230ns 0 0 0 4.66 KB
#7054 RunWafRealisticBenchmarkWithAttack net6.0 289μs 60.4ns 226ns 0 0 0 2.24 KB
#7054 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 688μs 10.4μs 104μs 0 0 0 2.22 KB
#7054 RunWafRealisticBenchmarkWithAttack net472 313μs 64.1ns 248ns 0 0 0 2.29 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 61.8μs 39ns 151ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.8μs 277ns 1.18μs 0 0 0 17.42 KB
master SendRequest net472 0.00753ns 0.00263ns 0.0102ns 0 0 0 0 b
#7054 SendRequest net6.0 60.6μs 67ns 242ns 0 0 0 14.52 KB
#7054 SendRequest netcoreapp3.1 73.2μs 202ns 755ns 0 0 0 17.42 KB
#7054 SendRequest net472 0.0265ns 0.00187ns 0.00725ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #7054

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 1.127 813,598.19 916,563.64

More allocations :warning: in #7054

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 0 b 73 B 73 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 0 b 47 B 47 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 1 B 3 B 2 B 200.00%

Fewer allocations :tada: in #7054

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑netcoreapp3.1 58 B 1 B -57 B -98.28%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.97ms 5.19μs 20.1μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.14ms 4.14μs 16μs 0 0 0 640 KB
master OriginalCharSlice net472 2.59ms 195ns 731ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.39ms 1.02μs 3.94μs 0 0 0 4 B
master OptimizedCharSlice netcoreapp3.1 1.7ms 503ns 1.95μs 0 0 0 58 B
master OptimizedCharSlice net472 2.01ms 298ns 1.11μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 970μs 125ns 451ns 0 0 0 1 B
master OptimizedCharSliceWithPool netcoreapp3.1 814μs 58.2ns 218ns 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.14ms 97.5ns 365ns 0 0 0 0 b
#7054 OriginalCharSlice net6.0 2.03ms 6.12μs 23.7μs 0 0 0 640 KB
#7054 OriginalCharSlice netcoreapp3.1 2.16ms 10.8μs 44.5μs 0 0 0 640 KB
#7054 OriginalCharSlice net472 2.63ms 71.4ns 257ns 100 0 0 641.95 KB
#7054 OptimizedCharSlice net6.0 1.38ms 288ns 1.11μs 0 0 0 4 B
#7054 OptimizedCharSlice netcoreapp3.1 1.72ms 280ns 1.09μs 0 0 0 1 B
#7054 OptimizedCharSlice net472 1.93ms 508ns 1.97μs 0 0 0 73 B
#7054 OptimizedCharSliceWithPool net6.0 990μs 41.7ns 162ns 0 0 0 3 B
#7054 OptimizedCharSliceWithPool netcoreapp3.1 917μs 52.1ns 202ns 0 0 0 0 b
#7054 OptimizedCharSliceWithPool net472 1.13ms 62.9ns 244ns 0 0 0 47 B
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - 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 790μs 2.33μs 9.02μs 0 0 0 41.56 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 636μs 3.03μs 11.7μs 0 0 0 41.94 KB
master WriteAndFlushEnrichedTraces net472 886μs 2.48μs 9.29μs 8.33 0 0 56.15 KB
#7054 WriteAndFlushEnrichedTraces net6.0 705μs 1.63μs 6.3μs 0 0 0 41.75 KB
#7054 WriteAndFlushEnrichedTraces netcoreapp3.1 666μs 3.78μs 26.7μs 0 0 0 41.95 KB
#7054 WriteAndFlushEnrichedTraces net472 978μs 5.72μs 52.1μs 4.46 0 0 56.03 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.9μs 10.4ns 58.9ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.6μs 7.66ns 28.7ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.77μs 4.2ns 16.3ns 0.151 0.0138 0 987 B
#7054 ExecuteNonQuery net6.0 1.93μs 1.7ns 6.56ns 0 0 0 1.02 KB
#7054 ExecuteNonQuery netcoreapp3.1 2.51μs 10.1ns 36.3ns 0 0 0 1.02 KB
#7054 ExecuteNonQuery net472 2.77μs 2.58ns 9.99ns 0.151 0.0137 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - 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 CallElasticsearch net6.0 1.76μs 7.58ns 29.3ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.43μs 8.45ns 32.7ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.49μs 1.72ns 6.67ns 0.157 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.87μs 1.87ns 7.25ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.62μs 12.5ns 51.5ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.6μs 3.82ns 14.8ns 0.163 0 0 1.1 KB
#7054 CallElasticsearch net6.0 1.78μs 2.82ns 10.2ns 0 0 0 1.03 KB
#7054 CallElasticsearch netcoreapp3.1 2.44μs 2.36ns 8.83ns 0 0 0 1.03 KB
#7054 CallElasticsearch net472 3.47μs 2.77ns 10.7ns 0.157 0 0 1.04 KB
#7054 CallElasticsearchAsync net6.0 1.87μs 8.72ns 36ns 0 0 0 1.01 KB
#7054 CallElasticsearchAsync netcoreapp3.1 2.55μs 4.26ns 16.5ns 0 0 0 1.08 KB
#7054 CallElasticsearchAsync net472 3.72μs 3.2ns 12ns 0.166 0 0 1.1 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.86μs 7.67ns 29.7ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.43μs 3.61ns 14ns 0 0 0 952 B
master ExecuteAsync net472 2.51μs 3.42ns 13.2ns 0.137 0 0 915 B
#7054 ExecuteAsync net6.0 1.85μs 7.02ns 27.2ns 0 0 0 952 B
#7054 ExecuteAsync netcoreapp3.1 2.37μs 5.98ns 21.6ns 0 0 0 952 B
#7054 ExecuteAsync net472 2.6μs 1ns 3.88ns 0.143 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 6.89μs 10.2ns 39.5ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.57μs 15.6ns 60.6ns 0 0 0 2.9 KB
master SendAsync net472 12.4μs 9.21ns 34.5ns 0.498 0 0 3.18 KB
#7054 SendAsync net6.0 6.87μs 17.1ns 66.4ns 0 0 0 2.36 KB
#7054 SendAsync netcoreapp3.1 8.54μs 31.6ns 122ns 0 0 0 2.9 KB
#7054 SendAsync net472 11.9μs 9.21ns 35.7ns 0.475 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7054

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 42.78 KB 45.53 KB 2.74 KB 6.41%

Fewer allocations :tada: in #7054

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.8 KB 43.15 KB -648 B -1.48%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 254.31 KB 249.74 KB -4.57 KB -1.80%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 275.56 KB 257.58 KB -17.98 KB -6.52%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 48.2μs 187ns 648ns 0 0 0 43.8 KB
master StringConcatBenchmark netcoreapp3.1 50.6μs 296ns 2.77μs 0 0 0 42.78 KB
master StringConcatBenchmark net472 57.5μs 239ns 894ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 461μs 1.43μs 5.16μs 0 0 0 254.31 KB
master StringConcatAspectBenchmark netcoreapp3.1 545μs 1.15μs 4.31μs 0 0 0 275.56 KB
master StringConcatAspectBenchmark net472 406μs 2.22μs 12.6μs 0 0 0 278.53 KB
#7054 StringConcatBenchmark net6.0 43μs 250ns 1.82μs 0 0 0 43.15 KB
#7054 StringConcatBenchmark netcoreapp3.1 54μs 855ns 8.47μs 0 0 0 45.53 KB
#7054 StringConcatBenchmark net472 56.2μs 221ns 797ns 0 0 0 65.54 KB
#7054 StringConcatAspectBenchmark net6.0 456μs 2.07μs 8.01μs 0 0 0 249.74 KB
#7054 StringConcatAspectBenchmark netcoreapp3.1 502μs 2.09μs 8.11μs 0 0 0 257.58 KB
#7054 StringConcatAspectBenchmark net472 405μs 2.26μs 15.3μs 0 0 0 278.53 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 2.73μs 5.54ns 21.5ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.41μs 15.7ns 60.9ns 0 0 0 1.7 KB
master EnrichedLog net472 3.85μs 3.58ns 13.9ns 0.249 0 0 1.64 KB
#7054 EnrichedLog net6.0 2.63μs 6.51ns 24.4ns 0 0 0 1.7 KB
#7054 EnrichedLog netcoreapp3.1 3.57μs 17.4ns 71.8ns 0 0 0 1.7 KB
#7054 EnrichedLog net472 3.86μs 3.77ns 14.1ns 0.252 0 0 1.64 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 123μs 87ns 314ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 129μs 72.4ns 261ns 0 0 0 4.31 KB
master EnrichedLog net472 168μs 82.8ns 321ns 0 0 0 4.52 KB
#7054 EnrichedLog net6.0 125μs 86.8ns 336ns 0 0 0 4.31 KB
#7054 EnrichedLog netcoreapp3.1 126μs 80.9ns 280ns 0 0 0 4.31 KB
#7054 EnrichedLog net472 166μs 77.4ns 300ns 0 0 0 4.51 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 5.1μs 20.2ns 78.2ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.72μs 15.8ns 61ns 0 0 0 2.26 KB
master EnrichedLog net472 7.59μs 4.15ns 16.1ns 0.304 0 0 2.08 KB
#7054 EnrichedLog net6.0 4.99μs 6.51ns 25.2ns 0 0 0 2.26 KB
#7054 EnrichedLog netcoreapp3.1 6.71μs 11.1ns 40ns 0 0 0 2.26 KB
#7054 EnrichedLog net472 7.39μs 8.18ns 31.7ns 0.33 0 0 2.08 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 2.05μs 10.1ns 43.8ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.69μs 8.61ns 33.3ns 0 0 0 1.2 KB
master SendReceive net472 3.12μs 3.31ns 12.8ns 0.189 0 0 1.2 KB
#7054 SendReceive net6.0 2μs 6.75ns 26.1ns 0 0 0 1.2 KB
#7054 SendReceive netcoreapp3.1 2.72μs 9.25ns 35.8ns 0 0 0 1.2 KB
#7054 SendReceive net472 3.02μs 1.76ns 6.36ns 0.182 0 0 1.2 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 4.33μs 13.3ns 51.4ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.66μs 11.8ns 45.7ns 0 0 0 1.63 KB
master EnrichedLog net472 6.36μs 5.73ns 21.5ns 0.319 0 0 2.03 KB
#7054 EnrichedLog net6.0 4.29μs 5.72ns 21.4ns 0 0 0 1.58 KB
#7054 EnrichedLog netcoreapp3.1 5.52μs 21.1ns 81.5ns 0 0 0 1.63 KB
#7054 EnrichedLog net472 6.63μs 7.11ns 27.5ns 0.299 0 0 2.03 KB
Benchmarks.Trace.SpanBenchmark - 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 StartFinishSpan net6.0 779ns 4.15ns 21.6ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 936ns 5.16ns 27.8ns 0 0 0 576 B
master StartFinishSpan net472 906ns 0.437ns 1.69ns 0.0905 0 0 578 B
master StartFinishScope net6.0 925ns 0.786ns 2.72ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.13μs 5.74ns 25.7ns 0 0 0 696 B
master StartFinishScope net472 1.07μs 0.249ns 0.933ns 0.102 0 0 658 B
#7054 StartFinishSpan net6.0 763ns 3.56ns 13.8ns 0 0 0 576 B
#7054 StartFinishSpan netcoreapp3.1 968ns 4.46ns 17.3ns 0 0 0 576 B
#7054 StartFinishSpan net472 950ns 1.36ns 5.26ns 0.0908 0 0 578 B
#7054 StartFinishScope net6.0 907ns 4.23ns 16.4ns 0 0 0 696 B
#7054 StartFinishScope netcoreapp3.1 1.14μs 6.34ns 37.5ns 0 0 0 696 B
#7054 StartFinishScope net472 1.11μs 0.53ns 2.05ns 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 1.04μs 1.52ns 5.69ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.4μs 6ns 21.6ns 0 0 0 696 B
master RunOnMethodBegin net472 1.4μs 1.11ns 4.3ns 0.0981 0 0 658 B
#7054 RunOnMethodBegin net6.0 1.07μs 5.58ns 26.8ns 0 0 0 696 B
#7054 RunOnMethodBegin netcoreapp3.1 1.37μs 0.937ns 3.63ns 0 0 0 696 B
#7054 RunOnMethodBegin net472 1.38μs 0.615ns 2.38ns 0.104 0 0 658 B

pr-commenter[bot] avatar Jun 03 '25 19:06 pr-commenter[bot]

Datadog Report

All test runs bb1a88f :link:

:x: 2 Total Test Services: 1 Failed, 1 Passed

Test Services
Service Name Failed Known Flaky New Flaky Passed Skipped Total Time Test Service View
dd-trace-dotnet 13 0 0 521350 4221 26h 42m 26.41s Link
exploration_tests 0 0 0 22085 3 2m 14.1s Link

:x: Failed Tests (13)

This report shows up to 5 failed tests.

  • HandleProduceAndConsume - Datadog.Trace.ClrProfiler.IntegrationTests.DataStreamsMonitoringRabbitMQTests - Details

    Expand for error
    esults do not match.
    ifferences:
    eceived: DataStreamsMonitoringRabbitMQTests.HandleProduceAndConsume.received.txt
    erified: DataStreamsMonitoringRabbitMQTests.HandleProduceAndConsume.verified.txt
    ompare Result:
     [
       {
         EdgeTags: [
           direction:in,
           topic:TopicQueue2,
    ..
    
  • TestSendEndInvocationSuccess - Datadog.Trace.Tests.LambdaCommonTests - Details

    Expand for error
    ssert.Empty() Failure
    xpected: <empty>
    ctual:   "2025-06-03 19:15:52:629 [DD_TRACE_DOTNET] Ending L"...
    
  • TestSendEndInvocationSuccess - Datadog.Trace.Tests.LambdaCommonTests - Details

    Expand for error
    ssert.Empty() Failure
    xpected: <empty>
    ctual:   "2025-06-03 19:16:00:053 [DD_TRACE_DOTNET] Ending L"...
    
  • TestSendEndInvocationSuccess - Datadog.Trace.Tests.LambdaCommonTests - Details

    Expand for error
    ssert.Empty() Failure
    xpected: <empty>
    ctual:   "2025-06-03 19:15:48:870 [DD_TRACE_DOTNET] Ending L"...
    
  • TestSendEndInvocationSuccess - Datadog.Trace.Tests.LambdaCommonTests - Details

    Expand for error
    ssert.Empty() Failure
    xpected: <empty>
    ctual:   "2025-06-03 19:15:45:895 [DD_TRACE_DOTNET] Ending L"...
    

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 653753b | Docs | Was this helpful? Give us feedback!

Ran my manual testing again after making the latest changes, and it seems to work sitll

robcarlan-datadog avatar Aug 06 '25 18:08 robcarlan-datadog