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

Fallback to `OperationName` instead of `string.Empty` for ElasticSearch `ResourceName`

Open bouwkast opened this issue 1 year ago • 4 comments

Summary of changes

Instead of using string.Empty for the Span.ResourceName fallback to the OperationName (which would be elasticsearch.query) when the object? requestParameters are null

Reason for change

In some logs I saw that the trace agent was needing to fix many ElasticSearch spans where the Span.Resource was empty - it would populate it with the operation name elasticsearch.query.

It seems like we could just do that in the Tracer instead.

I'm unsure exactly how the ElasticSearch object? requestParameters are null here to cause this issue though.

.... | TRACE | DEBUG | (pkg/trace/agent/normalizer.go:109 in normalize) | Fixing malformed trace. Resource is empty (reason:resource_empty), setting span.resource=elasticsearch.query: service:"....."  name:"elasticsearch.query"

Implementation details

Swap string.Empty for operationName

Test coverage

I am actually not entirely sure how this happens and it doesn't seem that we have any test coverage for this case 😬

Other details

bouwkast avatar May 24 '24 13:05 bouwkast

Datadog Report

Branch report: steven/elastic-resource-name Commit report: c908669 Test service: dd-trace-dotnet

:white_check_mark: 0 Failed, 331966 Passed, 1566 Skipped, 13h 43m 17.14s Total Time :hourglass: 6 Performance Regressions

:hourglass: Performance Regressions vs Default Branch (6)

This report shows up to 5 performance regressions.

  • Baseline - Samples.FakeDbCommand.windows.net60.json.scenarios 158.86ms (+66.07ms, +71%) - Details
  • Baseline - Samples.FakeDbCommand.windows.net462.json.scenarios 99.56ms (+26.9ms, +37%) - Details
  • CallTarget+Inlining+NGEN - Samples.FakeDbCommand.windows.net462.json.scenarios 1.2s (+196.62ms, +20%) - Details
  • Baseline - Samples.FakeDbCommand.windows.netcoreapp31.json.scenarios 156.22ms (+47.29ms, +43%) - Details
  • CallTarget+Inlining+NGEN - Samples.FakeDbCommand.windows.netcoreapp31.json.scenarios 1.14s (+419.02ms, +58%) - Details

datadog-ddstaging[bot] avatar May 24 '24 13:05 datadog-ddstaging[bot]

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 (5610) - mean (100ms)  : 85, 114
     .   : milestone, 100,

    section CallTarget+Inlining+NGEN
    This PR (5610) - mean (1,200ms)  : 1087, 1313
     .   : milestone, 1200,

gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5610) - mean (156ms)  : 143, 169
     .   : milestone, 156,

    section CallTarget+Inlining+NGEN
    This PR (5610) - mean (1,143ms)  : 883, 1404
     .   : milestone, 1143,

gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5610) - mean (159ms)  : 125, 193
     .   : milestone, 159,

    section CallTarget+Inlining+NGEN
    This PR (5610) - mean (1,096ms)  : 946, 1245
     .   : milestone, 1096,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5610) - mean (194ms)  : 190, 199
     .   : milestone, 194,
    master - mean (192ms)  : 189, 195
     .   : milestone, 192,

    section CallTarget+Inlining+NGEN
    This PR (5610) - mean (1,118ms)  : 1097, 1140
     .   : milestone, 1118,
    master - mean (1,120ms)  : 1102, 1137
     .   : milestone, 1120,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5610) - mean (283ms)  : 277, 289
     .   : milestone, 283,
    master - mean (277ms)  : 272, 282
     .   : milestone, 277,

    section CallTarget+Inlining+NGEN
    This PR (5610) - mean (937ms)  : 912, 962
     .   : milestone, 937,
    master - mean (921ms)  : 904, 938
     .   : milestone, 921,

gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (5610) - mean (269ms)  : 264, 274
     .   : milestone, 269,
    master - mean (265ms)  : 260, 270
     .   : milestone, 265,

    section CallTarget+Inlining+NGEN
    This PR (5610) - mean (908ms)  : 886, 931
     .   : milestone, 908,
    master - mean (902ms)  : 883, 920
     .   : milestone, 902,

andrewlock avatar May 24 '24 13:05 andrewlock

Benchmarks Report for tracer :snail:

Benchmarks for #5610 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.123
  • 1 benchmarks have fewer allocations
  • 1 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 8.82μs 46.3ns 266ns 0.0214 0.00858 0 7.56 KB
master StartStopWithChild netcoreapp3.1 10.8μs 48ns 186ns 0.0327 0.0163 0 7.64 KB
master StartStopWithChild net472 17.1μs 54.6ns 211ns 1.34 0.362 0.103 8.06 KB
#5610 StartStopWithChild net6.0 8.75μs 49ns 310ns 0.0224 0.00897 0 7.55 KB
#5610 StartStopWithChild netcoreapp3.1 11.2μs 55.3ns 241ns 0.0328 0.0164 0 7.65 KB
#5610 StartStopWithChild net472 17.2μs 42.4ns 164ns 1.34 0.35 0.108 8.06 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 480μs 1.17μs 4.55μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 657μs 145ns 543ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 830μs 202ns 754ns 0.414 0 0 3.3 KB
#5610 WriteAndFlushEnrichedTraces net6.0 484μs 325ns 1.26μs 0 0 0 2.7 KB
#5610 WriteAndFlushEnrichedTraces netcoreapp3.1 628μs 199ns 743ns 0 0 0 2.7 KB
#5610 WriteAndFlushEnrichedTraces net472 823μs 337ns 1.31μs 0.408 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 172μs 287ns 1.11μs 0.257 0 0 18.44 KB
master SendRequest netcoreapp3.1 191μs 363ns 1.41μs 0.191 0 0 20.6 KB
master SendRequest net472 0.00067ns 0.000219ns 0.000819ns 0 0 0 0 b
#5610 SendRequest net6.0 173μs 242ns 938ns 0.256 0 0 18.44 KB
#5610 SendRequest netcoreapp3.1 193μs 258ns 1μs 0.193 0 0 20.6 KB
#5610 SendRequest net472 0.151ns 0.00103ns 0.00398ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #5610

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.44 KB 41.78 KB 343 B 0.83%

Fewer allocations :tada: in #5610

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.98 KB 41.58 KB -400 B -0.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 542μs 507ns 1.83μs 0.551 0 0 41.44 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 654μs 1.17μs 4.54μs 0.321 0 0 41.98 KB
master WriteAndFlushEnrichedTraces net472 847μs 3.98μs 15.4μs 8.45 2.53 0.422 53.26 KB
#5610 WriteAndFlushEnrichedTraces net6.0 561μs 1.17μs 4.53μs 0.566 0 0 41.78 KB
#5610 WriteAndFlushEnrichedTraces netcoreapp3.1 659μs 2.28μs 8.82μs 0.329 0 0 41.58 KB
#5610 WriteAndFlushEnrichedTraces net472 859μs 2.75μs 10.7μs 8.45 2.53 0.422 53.25 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.16μs 0.46ns 1.72ns 0.011 0 0 808 B
master ExecuteNonQuery netcoreapp3.1 1.42μs 0.702ns 2.72ns 0.0106 0 0 808 B
master ExecuteNonQuery net472 1.71μs 1.74ns 6.72ns 0.122 0 0 770 B
#5610 ExecuteNonQuery net6.0 1.12μs 0.738ns 2.86ns 0.0112 0 0 808 B
#5610 ExecuteNonQuery netcoreapp3.1 1.47μs 0.791ns 2.96ns 0.0104 0 0 808 B
#5610 ExecuteNonQuery net472 1.73μs 1.51ns 5.84ns 0.122 0 0 770 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.17μs 0.543ns 2.03ns 0.0135 0 0 976 B
master CallElasticsearch netcoreapp3.1 1.58μs 1.57ns 6.1ns 0.0127 0 0 976 B
master CallElasticsearch net472 2.47μs 1.02ns 3.94ns 0.158 0.00124 0 995 B
master CallElasticsearchAsync net6.0 1.24μs 1.12ns 4.17ns 0.0131 0 0 952 B
master CallElasticsearchAsync netcoreapp3.1 1.6μs 0.942ns 3.52ns 0.0135 0 0 1.02 KB
master CallElasticsearchAsync net472 2.6μs 1.7ns 6.58ns 0.167 0.0013 0 1.05 KB
#5610 CallElasticsearch net6.0 1.1μs 0.505ns 1.82ns 0.0138 0 0 976 B
#5610 CallElasticsearch netcoreapp3.1 1.54μs 1.48ns 5.53ns 0.013 0 0 976 B
#5610 CallElasticsearch net472 2.47μs 1.41ns 5.28ns 0.157 0.00124 0 995 B
#5610 CallElasticsearchAsync net6.0 1.31μs 0.617ns 2.31ns 0.0131 0 0 952 B
#5610 CallElasticsearchAsync netcoreapp3.1 1.59μs 0.616ns 2.22ns 0.0136 0 0 1.02 KB
#5610 CallElasticsearchAsync net472 2.56μs 2.05ns 7.66ns 0.167 0.00128 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.997ns 3.86ns 0.0132 0 0 952 B
master ExecuteAsync netcoreapp3.1 1.56μs 0.585ns 2.19ns 0.0131 0 0 952 B
master ExecuteAsync net472 1.8μs 1.23ns 4.61ns 0.145 0 0 915 B
#5610 ExecuteAsync net6.0 1.21μs 0.877ns 3.39ns 0.0134 0 0 952 B
#5610 ExecuteAsync netcoreapp3.1 1.51μs 0.828ns 3.1ns 0.013 0 0 952 B
#5610 ExecuteAsync net472 1.83μs 1.65ns 6.17ns 0.145 0.000916 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.16μs 0.787ns 3.05ns 0.0313 0 0 2.22 KB
master SendAsync netcoreapp3.1 5.02μs 1.05ns 3.8ns 0.0351 0 0 2.76 KB
master SendAsync net472 7.55μs 3.72ns 14.4ns 0.496 0 0 3.12 KB
#5610 SendAsync net6.0 4.04μs 0.776ns 3.01ns 0.0302 0 0 2.22 KB
#5610 SendAsync netcoreapp3.1 5.04μs 2.47ns 8.57ns 0.0379 0 0 2.76 KB
#5610 SendAsync net472 7.5μs 2.22ns 8.61ns 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.43μs 0.659ns 2.55ns 0.023 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 2.16μs 0.725ns 2.61ns 0.0216 0 0 1.64 KB
master EnrichedLog net472 2.46μs 1.12ns 4.18ns 0.249 0 0 1.57 KB
#5610 EnrichedLog net6.0 1.45μs 0.688ns 2.57ns 0.0231 0 0 1.64 KB
#5610 EnrichedLog netcoreapp3.1 2.22μs 1.31ns 5.08ns 0.0221 0 0 1.64 KB
#5610 EnrichedLog net472 2.58μs 0.898ns 3.36ns 0.25 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 114μs 164ns 636ns 0.0565 0 0 4.28 KB
master EnrichedLog netcoreapp3.1 118μs 87ns 337ns 0.0587 0 0 4.28 KB
master EnrichedLog net472 148μs 87.2ns 338ns 0.664 0.221 0 4.46 KB
#5610 EnrichedLog net6.0 114μs 175ns 678ns 0.0574 0 0 4.28 KB
#5610 EnrichedLog netcoreapp3.1 118μs 171ns 664ns 0 0 0 4.28 KB
#5610 EnrichedLog net472 148μs 64.9ns 243ns 0.666 0.222 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.09μs 0.765ns 2.96ns 0.0308 0 0 2.2 KB
master EnrichedLog netcoreapp3.1 4.01μs 0.829ns 3.21ns 0.0301 0 0 2.2 KB
master EnrichedLog net472 4.97μs 1.25ns 4.82ns 0.319 0 0 2.02 KB
#5610 EnrichedLog net6.0 3.18μs 0.952ns 3.56ns 0.0304 0 0 2.2 KB
#5610 EnrichedLog netcoreapp3.1 4.19μs 1.12ns 4.34ns 0.0293 0 0 2.2 KB
#5610 EnrichedLog net472 4.67μs 1.56ns 6.06ns 0.32 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.36μs 1.09ns 4.21ns 0.0157 0 0 1.14 KB
master SendReceive netcoreapp3.1 1.83μs 1.02ns 3.97ns 0.0156 0 0 1.14 KB
master SendReceive net472 2.07μs 0.916ns 3.43ns 0.183 0.00103 0 1.16 KB
#5610 SendReceive net6.0 1.31μs 0.772ns 2.99ns 0.0162 0 0 1.14 KB
#5610 SendReceive netcoreapp3.1 1.69μs 2.15ns 8.31ns 0.0151 0 0 1.14 KB
#5610 SendReceive net472 2.12μs 0.76ns 2.94ns 0.183 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.74μs 1.26ns 4.88ns 0.0219 0 0 1.6 KB
master EnrichedLog netcoreapp3.1 3.87μs 5.01ns 19.4ns 0.0211 0 0 1.65 KB
master EnrichedLog net472 4.28μs 2.91ns 10.9ns 0.323 0 0 2.04 KB
#5610 EnrichedLog net6.0 2.87μs 7.3ns 28.3ns 0.0224 0 0 1.6 KB
#5610 EnrichedLog netcoreapp3.1 3.84μs 2.64ns 10.2ns 0.0213 0 0 1.65 KB
#5610 EnrichedLog net472 4.5μs 1.29ns 4.83ns 0.323 0 0 2.04 KB
Benchmarks.Trace.SpanBenchmark - Faster :tada: Same allocations :heavy_check_mark:

Faster :tada: in #5610

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net6.0 1.123 452.17 402.48

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 452ns 0.218ns 0.844ns 0.00813 0 0 576 B
master StartFinishSpan netcoreapp3.1 539ns 0.228ns 0.854ns 0.00785 0 0 576 B
master StartFinishSpan net472 726ns 0.611ns 2.28ns 0.0917 0 0 578 B
master StartFinishScope net6.0 474ns 0.213ns 0.824ns 0.00973 0 0 696 B
master StartFinishScope netcoreapp3.1 739ns 0.377ns 1.46ns 0.00931 0 0 696 B
master StartFinishScope net472 858ns 0.371ns 1.44ns 0.104 0 0 658 B
#5610 StartFinishSpan net6.0 402ns 0.117ns 0.452ns 0.00809 0 0 576 B
#5610 StartFinishSpan netcoreapp3.1 597ns 0.2ns 0.748ns 0.00773 0 0 576 B
#5610 StartFinishSpan net472 757ns 0.706ns 2.73ns 0.0918 0 0 578 B
#5610 StartFinishScope net6.0 488ns 0.203ns 0.786ns 0.00983 0 0 696 B
#5610 StartFinishScope netcoreapp3.1 746ns 0.258ns 0.997ns 0.00932 0 0 696 B
#5610 StartFinishScope net472 933ns 0.6ns 2.32ns 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 652ns 0.241ns 0.9ns 0.00983 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 926ns 0.454ns 1.7ns 0.00921 0 0 696 B
master RunOnMethodBegin net472 1.15μs 0.461ns 1.72ns 0.104 0 0 658 B
#5610 RunOnMethodBegin net6.0 628ns 0.279ns 1.08ns 0.00974 0 0 696 B
#5610 RunOnMethodBegin netcoreapp3.1 1μs 0.373ns 1.39ns 0.00954 0 0 696 B
#5610 RunOnMethodBegin net472 1.05μs 0.33ns 1.24ns 0.104 0 0 658 B

andrewlock avatar May 24 '24 14:05 andrewlock

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 (5610) (11.350M)   : 0, 11349606
    master (11.616M)   : 0, 11615706
    benchmarks/2.9.0 (11.624M)   : 0, 11623859

    section Automatic
    This PR (5610) (7.927M)   : 0, 7927051
    master (7.655M)   : 0, 7655281
    benchmarks/2.9.0 (8.265M)   : 0, 8264971

    section Trace stats
    master (8.103M)   : 0, 8103029

    section Manual
    This PR (5610) (9.771M)   : 0, 9771177
    master (9.865M)   : 0, 9864889

    section Manual + Automatic
    This PR (5610) (7.190M)   : 0, 7189960
    master (7.369M)   : 0, 7368730

    section Version Conflict
    master (6.506M)   : 0, 6505858

gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5610) (9.545M)   : 0, 9545066
    master (9.681M)   : 0, 9681463
    benchmarks/2.9.0 (9.540M)   : 0, 9540485

    section Automatic
    This PR (5610) (6.602M)   : 0, 6601929
    master (6.501M)   : 0, 6501141

    section Trace stats
    master (6.940M)   : 0, 6940418

    section Manual
    This PR (5610) (8.100M)   : 0, 8099788
    master (8.010M)   : 0, 8010151

    section Manual + Automatic
    This PR (5610) (6.208M)   : 0, 6208378
    master (6.179M)   : 0, 6179114

    section Version Conflict
    master (5.548M)   : 0, 5548375

gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (5610) (10.044M)   : 0, 10043748
    master (9.959M)   : 0, 9958679
    benchmarks/2.9.0 (10.172M)   : 0, 10172493

    section Automatic
    This PR (5610) (7.187M)   : 0, 7186506
    master (7.143M)   : 0, 7142793
    benchmarks/2.9.0 (7.430M)   : 0, 7430131

    section Trace stats
    master (7.412M)   : 0, 7411748

    section Manual
    This PR (5610) (8.813M)   : 0, 8813158
    master (8.759M)   : 0, 8759430

    section Manual + Automatic
    This PR (5610) (6.890M)   : 0, 6890480
    master (6.877M)   : 0, 6877374

    section Version Conflict
    master (6.197M)   : 0, 6197244

andrewlock avatar May 24 '24 14:05 andrewlock