Skip to content

[Test Optimization] Retrieve head commit info #7285

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

Merged
merged 7 commits into from
Jul 29, 2025

Conversation

tonyredondo
Copy link
Member

@tonyredondo tonyredondo commented Jul 28, 2025

Summary of changes

This PR adds all the commit info from the head commit sha.

Reason for change

We need the head commit info in PRs to avoid using the merge commit information.
JIRA: https://datadoghq.atlassian.net/browse/SDTEST-2263

Implementation details

From the head commit sha we extract all the info.

Test coverage

A new test was added to assert fetching several commit shas.

Other details

@DataDog DataDog deleted a comment from datadog-datadog-prod-us1 bot Jul 28, 2025
@DataDog DataDog deleted a comment from dd-trace-dotnet-ci-bot bot Jul 28, 2025
@dd-trace-dotnet-ci-bot
Copy link

dd-trace-dotnet-ci-bot bot commented Jul 28, 2025

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:

  • 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 (7285) - mean (72ms)  : 71, 72
     .   : milestone, 72,
    master - mean (72ms)  : 70, 73
     .   : milestone, 72,

    section Baseline
    This PR (7285) - mean (68ms)  : 64, 72
     .   : milestone, 68,
    master - mean (68ms)  : 65, 71
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (7285) - mean (1,050ms)  : 1022, 1079
     .   : milestone, 1050,
    master - mean (1,043ms)  : 1021, 1066
     .   : milestone, 1043,

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

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

    section CallTarget+Inlining+NGEN
    This PR (7285) - mean (729ms)  : 711, 746
     .   : milestone, 729,
    master - mean (727ms)  : 709, 746
     .   : milestone, 727,

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

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

    section CallTarget+Inlining+NGEN
    This PR (7285) - mean (690ms)  : 675, 706
     .   : milestone, 690,
    master - mean (688ms)  : 670, 706
     .   : milestone, 688,

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

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

    section CallTarget+Inlining+NGEN
    This PR (7285) - mean (623ms)  : 611, 635
     .   : milestone, 623,
    master - mean (626ms)  : 618, 635
     .   : milestone, 626,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7285) - mean (193ms)  : 186, 200
     .   : milestone, 193,
    master - mean (195ms)  : 188, 202
     .   : milestone, 195,

    section Baseline
    This PR (7285) - mean (190ms)  : 182, 198
     .   : milestone, 190,
    master - mean (189ms)  : 179, 199
     .   : milestone, 189,

    section CallTarget+Inlining+NGEN
    This PR (7285) - mean (1,142ms)  : 1113, 1170
     .   : milestone, 1142,
    master - mean (1,152ms)  : 1113, 1191
     .   : milestone, 1152,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7285) - mean (274ms)  : 264, 283
     .   : milestone, 274,
    master - mean (276ms)  : 267, 285
     .   : milestone, 276,

    section Baseline
    This PR (7285) - mean (271ms)  : 262, 280
     .   : milestone, 271,
    master - mean (275ms)  : 264, 286
     .   : milestone, 275,

    section CallTarget+Inlining+NGEN
    This PR (7285) - mean (908ms)  : 879, 938
     .   : milestone, 908,
    master - mean (918ms)  : 889, 947
     .   : milestone, 918,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7285) - mean (290ms)  : crit, 261, 318
     .   : crit, milestone, 290,
    master - mean (268ms)  : 257, 279
     .   : milestone, 268,

    section Baseline
    This PR (7285) - mean (268ms)  : 256, 279
     .   : milestone, 268,
    master - mean (270ms)  : 262, 278
     .   : milestone, 270,

    section CallTarget+Inlining+NGEN
    This PR (7285) - mean (942ms)  : 833, 1051
     .   : milestone, 942,
    master - mean (904ms)  : 875, 932
     .   : milestone, 904,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7285) - mean (268ms)  : 256, 280
     .   : milestone, 268,
    master - mean (266ms)  : 256, 276
     .   : milestone, 266,

    section Baseline
    This PR (7285) - mean (266ms)  : 257, 275
     .   : milestone, 266,
    master - mean (266ms)  : 255, 277
     .   : milestone, 266,

    section CallTarget+Inlining+NGEN
    This PR (7285) - mean (807ms)  : 786, 827
     .   : milestone, 807,
    master - mean (823ms)  : 797, 849
     .   : milestone, 823,

Loading

@pr-commenter
Copy link

pr-commenter bot commented Jul 28, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7285 compared to master:

  • 1 benchmarks are slower, with geometric mean 2.086
  • 6 benchmarks have fewer allocations
  • 6 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 ✔️ More allocations ⚠️

More allocations ⚠️ in #7285

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 5.98 KB 6.08 KB 99 B 1.66%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.2μs 56.3ns 323ns 0 0 0 5.49 KB
master StartStopWithChild netcoreapp3.1 14.1μs 57.6ns 223ns 0 0 0 5.72 KB
master StartStopWithChild net472 21.9μs 124ns 811ns 0.97 0.431 0.108 5.98 KB
#7285 StartStopWithChild net6.0 10.4μs 57.2ns 352ns 0 0 0 5.51 KB
#7285 StartStopWithChild netcoreapp3.1 13.8μs 65.8ns 263ns 0 0 0 5.71 KB
#7285 StartStopWithChild net472 22.3μs 126ns 833ns 0.957 0.213 0 6.08 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 927μs 727ns 2.81μs 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 79.4ns 286ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.23ms 271ns 1.05μs 0 0 0 3.31 KB
#7285 WriteAndFlushEnrichedTraces net6.0 938μs 198ns 742ns 0 0 0 2.71 KB
#7285 WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 77.8ns 280ns 0 0 0 2.71 KB
#7285 WriteAndFlushEnrichedTraces net472 1.2ms 245ns 949ns 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 333μs 1.63μs 5.89μs 0 0 0 197.24 KB
master AllCycleSimpleBody netcoreapp3.1 479μs 1.55μs 6.01μs 0 0 0 204.95 KB
master AllCycleSimpleBody net472 450μs 103ns 399ns 37.9 2.23 0 244.94 KB
master AllCycleMoreComplexBody net6.0 339μs 1.67μs 6.88μs 0 0 0 200.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 512μs 1.55μs 6μs 0 0 0 208.37 KB
master AllCycleMoreComplexBody net472 455μs 92.9ns 335ns 37.9 2.23 0 248.45 KB
master ObjectExtractorSimpleBody net6.0 313ns 1.69ns 8.76ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 406ns 2.19ns 11.6ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 300ns 0.0366ns 0.142ns 0.0438 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.32μs 26.6ns 103ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.86μs 27.6ns 107ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.84μs 2.06ns 7.7ns 0.58 0 0 3.8 KB
#7285 AllCycleSimpleBody net6.0 333μs 153ns 574ns 0 0 0 197.24 KB
#7285 AllCycleSimpleBody netcoreapp3.1 482μs 1.42μs 5.51μs 0 0 0 204.95 KB
#7285 AllCycleSimpleBody net472 448μs 112ns 418ns 37.9 2.23 0 244.94 KB
#7285 AllCycleMoreComplexBody net6.0 339μs 913ns 3.42μs 0 0 0 200.75 KB
#7285 AllCycleMoreComplexBody netcoreapp3.1 511μs 1.6μs 6.2μs 0 0 0 208.37 KB
#7285 AllCycleMoreComplexBody net472 458μs 133ns 514ns 37.9 2.23 0 248.45 KB
#7285 ObjectExtractorSimpleBody net6.0 327ns 0.0648ns 0.242ns 0 0 0 280 B
#7285 ObjectExtractorSimpleBody netcoreapp3.1 406ns 1.23ns 4.43ns 0 0 0 272 B
#7285 ObjectExtractorSimpleBody net472 305ns 0.0275ns 0.103ns 0.0446 0 0 281 B
#7285 ObjectExtractorMoreComplexBody net6.0 6.23μs 31.8ns 135ns 0 0 0 3.78 KB
#7285 ObjectExtractorMoreComplexBody netcoreapp3.1 7.88μs 21ns 81.4ns 0 0 0 3.69 KB
#7285 ObjectExtractorMoreComplexBody net472 6.78μs 2.11ns 8.19ns 0.577 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 77.4μs 267ns 1.03μs 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 96.8μs 16.7ns 64.8ns 0 0 0 32.4 KB
master EncodeArgs net472 110μs 41.7ns 161ns 4.93 0 0 32.51 KB
master EncodeLegacyArgs net6.0 145μs 84ns 325ns 0 0 0 2.14 KB
master EncodeLegacyArgs netcoreapp3.1 198μs 558ns 2.16μs 0 0 0 2.15 KB
master EncodeLegacyArgs net472 262μs 133ns 516ns 0 0 0 2.16 KB
#7285 EncodeArgs net6.0 77.4μs 48.3ns 187ns 0 0 0 32.4 KB
#7285 EncodeArgs netcoreapp3.1 97.3μs 432ns 1.68μs 0 0 0 32.4 KB
#7285 EncodeArgs net472 109μs 56.2ns 218ns 4.89 0 0 32.51 KB
#7285 EncodeLegacyArgs net6.0 143μs 36.3ns 141ns 0 0 0 2.15 KB
#7285 EncodeLegacyArgs netcoreapp3.1 195μs 141ns 546ns 0 0 0 2.14 KB
#7285 EncodeLegacyArgs net472 262μs 32.9ns 127ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7285

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.086 409,138.12 853,545.00

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 394μs 52ns 187ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 409μs 91.5ns 354ns 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 427μs 58.8ns 228ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 286μs 18.2ns 65.7ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 675μs 12.2μs 121μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 312μs 26.1ns 101ns 0 0 0 2.29 KB
#7285 RunWafRealisticBenchmark net6.0 392μs 36.7ns 137ns 0 0 0 4.56 KB
#7285 RunWafRealisticBenchmark netcoreapp3.1 809μs 10.3μs 98.4μs 0 0 0 4.48 KB
#7285 RunWafRealisticBenchmark net472 428μs 51.9ns 187ns 0 0 0 4.68 KB
#7285 RunWafRealisticBenchmarkWithAttack net6.0 284μs 252ns 977ns 0 0 0 2.24 KB
#7285 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 680μs 12.4μs 124μs 0 0 0 2.22 KB
#7285 RunWafRealisticBenchmarkWithAttack net472 312μs 27.9ns 108ns 0 0 0 2.29 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 61μs 44.5ns 161ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.7μs 66.7ns 250ns 0 0 0 17.42 KB
master SendRequest net472 0.0183ns 0.00161ns 0.00623ns 0 0 0 0 b
#7285 SendRequest net6.0 61.6μs 14.6ns 52.6ns 0 0 0 14.52 KB
#7285 SendRequest netcoreapp3.1 70.2μs 91.1ns 341ns 0 0 0 17.42 KB
#7285 SendRequest net472 0.017ns 0.00183ns 0.00707ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7285

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 0 b 1 B 1 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 4 B 6 B 2 B 50.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 2 B 3 B 1 B 50.00%

Fewer allocations 🎉 in #7285

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 73 B 0 b -73 B -100.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 47 B 0 b -47 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.88ms 6.66μs 25.8μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.18ms 11.3μs 57.8μs 0 0 0 640 KB
master OriginalCharSlice net472 2.62ms 243ns 909ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.44ms 275ns 1.07μs 0 0 0 4 B
master OptimizedCharSlice netcoreapp3.1 1.7ms 253ns 981ns 0 0 0 1 B
master OptimizedCharSlice net472 1.95ms 350ns 1.35μs 0 0 0 73 B
master OptimizedCharSliceWithPool net6.0 808μs 196ns 758ns 0 0 0 2 B
master OptimizedCharSliceWithPool netcoreapp3.1 815μs 34.5ns 134ns 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.17ms 78.7ns 295ns 0 0 0 47 B
#7285 OriginalCharSlice net6.0 1.92ms 616ns 2.31μs 0 0 0 640.01 KB
#7285 OriginalCharSlice netcoreapp3.1 2.14ms 9.1μs 35.3μs 0 0 0 640 KB
#7285 OriginalCharSlice net472 2.59ms 205ns 794ns 100 0 0 641.95 KB
#7285 OptimizedCharSlice net6.0 1.4ms 246ns 922ns 0 0 0 6 B
#7285 OptimizedCharSlice netcoreapp3.1 1.73ms 371ns 1.44μs 0 0 0 1 B
#7285 OptimizedCharSlice net472 1.98ms 278ns 1.08μs 0 0 0 0 b
#7285 OptimizedCharSliceWithPool net6.0 821μs 56ns 217ns 0 0 0 3 B
#7285 OptimizedCharSliceWithPool netcoreapp3.1 843μs 66ns 256ns 0 0 0 1 B
#7285 OptimizedCharSliceWithPool net472 1.14ms 102ns 395ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7285

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 42.8 KB 41.89 KB -908 B -2.12%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 696μs 3.95μs 27.3μs 0 0 0 41.76 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 754μs 1.94μs 6.98μs 0 0 0 42.8 KB
master WriteAndFlushEnrichedTraces net472 922μs 2.16μs 7.8μs 4.46 0 0 55.99 KB
#7285 WriteAndFlushEnrichedTraces net6.0 630μs 609ns 2.28μs 0 0 0 41.66 KB
#7285 WriteAndFlushEnrichedTraces netcoreapp3.1 790μs 4.55μs 39.1μs 0 0 0 41.89 KB
#7285 WriteAndFlushEnrichedTraces net472 906μs 2.22μs 8.31μs 4.46 0 0 56.1 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.93μs 7.26ns 28.1ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.67μs 8.59ns 32.1ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.71μs 5.36ns 20.8ns 0.148 0.0134 0 987 B
#7285 ExecuteNonQuery net6.0 1.85μs 8.16ns 31.6ns 0 0 0 1.02 KB
#7285 ExecuteNonQuery netcoreapp3.1 2.55μs 10.4ns 40.1ns 0 0 0 1.02 KB
#7285 ExecuteNonQuery net472 2.75μs 3.21ns 12.4ns 0.152 0.0138 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.73μs 8.4ns 33.6ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.43μs 7.32ns 27.4ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.49μs 1.79ns 6.46ns 0.157 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.78μs 9.63ns 53.6ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.5μs 5.17ns 20ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.76μs 6.04ns 23.4ns 0.169 0 0 1.1 KB
#7285 CallElasticsearch net6.0 1.71μs 8.91ns 41.8ns 0 0 0 1.03 KB
#7285 CallElasticsearch netcoreapp3.1 2.41μs 2.52ns 9.07ns 0 0 0 1.03 KB
#7285 CallElasticsearch net472 3.48μs 1.31ns 5.06ns 0.157 0 0 1.04 KB
#7285 CallElasticsearchAsync net6.0 1.87μs 9.43ns 41.1ns 0 0 0 1.01 KB
#7285 CallElasticsearchAsync netcoreapp3.1 2.47μs 10.9ns 42.3ns 0 0 0 1.08 KB
#7285 CallElasticsearchAsync net472 3.74μs 1.81ns 7.01ns 0.167 0 0 1.1 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.85μs 8.01ns 31ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.34μs 10.6ns 41.1ns 0 0 0 952 B
master ExecuteAsync net472 2.63μs 2.13ns 8.27ns 0.144 0 0 915 B
#7285 ExecuteAsync net6.0 1.84μs 3.11ns 12ns 0 0 0 952 B
#7285 ExecuteAsync netcoreapp3.1 2.33μs 11ns 42.4ns 0 0 0 952 B
#7285 ExecuteAsync net472 2.62μs 3.2ns 12.4ns 0.143 0 0 915 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 6.86μs 6.51ns 25.2ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.65μs 11.5ns 44.4ns 0 0 0 2.9 KB
master SendAsync net472 12.6μs 14.6ns 56.7ns 0.444 0 0 3.18 KB
#7285 SendAsync net6.0 6.7μs 14.1ns 54.7ns 0 0 0 2.36 KB
#7285 SendAsync netcoreapp3.1 8.93μs 12.2ns 45.5ns 0 0 0 2.9 KB
#7285 SendAsync net472 12.4μs 11.9ns 46.2ns 0.492 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7285

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 275.38 KB 286.72 KB 11.34 KB 4.12%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 44.02 KB 45.53 KB 1.51 KB 3.44%

Fewer allocations 🎉 in #7285

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 277.12 KB 272.59 KB -4.53 KB -1.63%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 274.54 KB 257.1 KB -17.45 KB -6.36%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 65.54 KB 57.34 KB -8.19 KB -12.50%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 46.3μs 198ns 1.21μs 0 0 0 43.78 KB
master StringConcatBenchmark netcoreapp3.1 46.2μs 209ns 810ns 0 0 0 44.02 KB
master StringConcatBenchmark net472 57μs 120ns 415ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 476μs 1.92μs 6.64μs 0 0 0 274.54 KB
master StringConcatAspectBenchmark netcoreapp3.1 562μs 2.53μs 9.81μs 0 0 0 277.12 KB
master StringConcatAspectBenchmark net472 404μs 2.36μs 20.7μs 0 0 0 275.38 KB
#7285 StringConcatBenchmark net6.0 44.4μs 225ns 1.03μs 0 0 0 43.78 KB
#7285 StringConcatBenchmark netcoreapp3.1 51.1μs 661ns 6.37μs 0 0 0 45.53 KB
#7285 StringConcatBenchmark net472 57.1μs 195ns 701ns 0 0 0 57.34 KB
#7285 StringConcatAspectBenchmark net6.0 478μs 2.38μs 10.7μs 0 0 0 257.1 KB
#7285 StringConcatAspectBenchmark netcoreapp3.1 504μs 1.48μs 5.71μs 0 0 0 272.59 KB
#7285 StringConcatAspectBenchmark net472 409μs 2.09μs 9.09μs 0 0 0 286.72 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 2.52μs 14.1ns 90ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.64μs 15ns 58.2ns 0 0 0 1.7 KB
master EnrichedLog net472 3.97μs 3.52ns 13.6ns 0.258 0 0 1.64 KB
#7285 EnrichedLog net6.0 2.59μs 6.93ns 25ns 0 0 0 1.7 KB
#7285 EnrichedLog netcoreapp3.1 3.42μs 16.4ns 67.5ns 0 0 0 1.7 KB
#7285 EnrichedLog net472 3.95μs 2.05ns 7.67ns 0.257 0 0 1.64 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 122μs 66.4ns 240ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 127μs 116ns 435ns 0 0 0 4.31 KB
master EnrichedLog net472 169μs 84.8ns 317ns 0 0 0 4.52 KB
#7285 EnrichedLog net6.0 122μs 75.4ns 282ns 0 0 0 4.31 KB
#7285 EnrichedLog netcoreapp3.1 128μs 195ns 677ns 0 0 0 4.31 KB
#7285 EnrichedLog net472 166μs 47.6ns 184ns 0 0 0 4.52 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 4.9μs 15.1ns 58.5ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.6μs 14.4ns 56ns 0 0 0 2.26 KB
master EnrichedLog net472 7.52μs 4.92ns 19ns 0.302 0 0 2.08 KB
#7285 EnrichedLog net6.0 4.94μs 7.25ns 28.1ns 0 0 0 2.26 KB
#7285 EnrichedLog netcoreapp3.1 6.72μs 25.6ns 99.2ns 0 0 0 2.26 KB
#7285 EnrichedLog net472 7.59μs 6.29ns 24.3ns 0.304 0 0 2.08 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.98μs 8.58ns 30.9ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.64μs 12.6ns 50.3ns 0 0 0 1.2 KB
master SendReceive net472 3.17μs 3.51ns 13.6ns 0.19 0 0 1.2 KB
#7285 SendReceive net6.0 2.01μs 3.49ns 13.5ns 0 0 0 1.2 KB
#7285 SendReceive netcoreapp3.1 2.59μs 11.1ns 43ns 0 0 0 1.2 KB
#7285 SendReceive net472 3.31μs 3.09ns 12ns 0.182 0 0 1.2 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 4.14μs 5.04ns 19.5ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.73μs 11.7ns 45.5ns 0 0 0 1.63 KB
master EnrichedLog net472 6.51μs 7.42ns 28.7ns 0.291 0 0 2.03 KB
#7285 EnrichedLog net6.0 4.22μs 7.73ns 30ns 0 0 0 1.58 KB
#7285 EnrichedLog netcoreapp3.1 5.59μs 13.8ns 53.4ns 0 0 0 1.63 KB
#7285 EnrichedLog net472 6.56μs 7.46ns 28.9ns 0.295 0 0 2.03 KB
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 751ns 3.76ns 20.9ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 954ns 4.88ns 22.9ns 0 0 0 576 B
master StartFinishSpan net472 944ns 0.741ns 2.87ns 0.0904 0 0 578 B
master StartFinishScope net6.0 899ns 3.17ns 11.9ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.15μs 5.63ns 23.9ns 0 0 0 696 B
master StartFinishScope net472 1.09μs 0.796ns 3.08ns 0.103 0 0 658 B
#7285 StartFinishSpan net6.0 750ns 3.97ns 19.5ns 0 0 0 576 B
#7285 StartFinishSpan netcoreapp3.1 940ns 4.43ns 17.2ns 0 0 0 576 B
#7285 StartFinishSpan net472 954ns 0.213ns 0.796ns 0.0908 0 0 578 B
#7285 StartFinishScope net6.0 901ns 0.192ns 0.693ns 0 0 0 696 B
#7285 StartFinishScope netcoreapp3.1 1.12μs 5.16ns 20ns 0 0 0 696 B
#7285 StartFinishScope net472 1.12μs 0.291ns 1.05ns 0.101 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 1.03μs 5.18ns 23.7ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.42μs 6.97ns 28.8ns 0 0 0 696 B
master RunOnMethodBegin net472 1.41μs 0.244ns 0.88ns 0.099 0 0 658 B
#7285 RunOnMethodBegin net6.0 1.09μs 5.52ns 25.9ns 0 0 0 696 B
#7285 RunOnMethodBegin netcoreapp3.1 1.35μs 5.64ns 21.8ns 0 0 0 696 B
#7285 RunOnMethodBegin net472 1.4μs 0.622ns 2.41ns 0.0977 0 0 658 B

@tonyredondo tonyredondo marked this pull request as ready for review July 28, 2025 08:29
@tonyredondo tonyredondo requested review from a team as code owners July 28, 2025 08:29
var commitMessage = string.Join("|,|", gitLogDataArray.Skip(7)).Trim();
if (commitMessage.EndsWith("'"))
{
commitMessage = commitMessage.Substring(0, commitMessage.Length - 1).Trim();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: There's a lot of substringing and trimming going on. You might want to consider working with ReadOnlySpan<T> to avoid all the allocations, and just do a final ToString() at the end

"--version",
MetricTags.CIVisibilityCommands.GetBranch);

if (output is { ExitCode: 0 } && !string.IsNullOrWhiteSpace(output.Output))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's so many different ways of writing the same check in this file 😂

@tonyredondo tonyredondo merged commit fca2ab4 into master Jul 29, 2025
148 of 149 checks passed
@tonyredondo tonyredondo deleted the tony/topt-get-head-commit-info branch July 29, 2025 18:29
@github-actions github-actions bot added this to the vNext-v3 milestone Jul 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants