Skip to content

[fleet installer] Split environment variable updating into seperate stages #6860

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

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

andrewlock
Copy link
Member

Summary of changes

Add an additional step to the IIS install to explicitly disable app pool recycling

Reason for change

We've been seeing flakiness in the end-to-end fleet-installer tests in the agent repo, where the app pool is "mysteriously" updated. We're not at all sure that we're causing the issue (vs a system component) and can't reproduce the issue in general. However, it's possible there's some race-condition (or similar) in IIS itself which we're occasionally hitting. This PR intends to remove that possibility, so we can run the end-to-end tests repeatedly and see if the flake remains or has gone.

Implementation details

Currently we would:

  • Change IIS settings + disable app pool recycling, commit
  • Enable app pool recycling, commit

In this command, we change to

  • Disable app pool recycling, commit
  • Change IIS settings, commit
  • Enable app pool recycling, commit

To avoid leaving things in a weird state, we need to change how we do the retries, so each step is retried 3 times. That way we make sure to try to re-enable app pool recycling even if we fail to change the settings.

Test coverage

Ran a manual test locally, and all looks good. We'll hammer the e2e tests separately once we have the oci images to see if it makes any difference

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Apr 15, 2025

Datadog Report

Branch report: andrew/win-ssi/three-phase-commit
Commit report: 5ef369a
Test service: dd-trace-dotnet

❌ 1 Failed (0 Known Flaky), 251849 Passed, 2270 Skipped, 17h 45m 6.91s Total Time
⌛ 1 Performance Regression

❌ Failed Tests (1)

  • DoesNotInjectLogsWhenDisabled - Datadog.Trace.ClrProfiler.IntegrationTests.SerilogTests - Details

    Expand for error
     Expected exit code: 0, actual exit code: 139.
    

⌛ Performance Regressions vs Default Branch (1)

  • EnrichedLog - Benchmarks.Trace.Log4netBenchmark 157.31µs (+6.8µs, +5%) - Details

@andrewlock
Copy link
Member Author

andrewlock commented Apr 15, 2025

Benchmarks Report for tracer 🐌

Benchmarks for #6860 compared to master:

  • All benchmarks have the same speed
  • 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 ✔️ More allocations ⚠️

More allocations ⚠️ in #6860

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.13 KB 6.18 KB 47 B 0.77%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 7.74μs 90.1ns 896ns 0 0 0 5.57 KB
master StartStopWithChild netcoreapp3.1 10.1μs 148ns 1.48μs 0 0 0 5.73 KB
master StartStopWithChild net472 15.3μs 87.8ns 697ns 1.04 0.297 0.0741 6.13 KB
#6860 StartStopWithChild net6.0 7.44μs 96.6ns 961ns 0 0 0 5.54 KB
#6860 StartStopWithChild netcoreapp3.1 10.9μs 167ns 1.67μs 0 0 0 5.71 KB
#6860 StartStopWithChild net472 15.3μs 85.9ns 607ns 0.938 0.217 0 6.18 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 513μs 5.69μs 50.6μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 664μs 854ns 3.19μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 841μs 2.7μs 10.1μs 0 0 0 3.31 KB
#6860 WriteAndFlushEnrichedTraces net6.0 500μs 1.34μs 5.17μs 0 0 0 2.7 KB
#6860 WriteAndFlushEnrichedTraces netcoreapp3.1 653μs 573ns 2.14μs 0 0 0 2.7 KB
#6860 WriteAndFlushEnrichedTraces net472 857μs 1.06μs 3.95μs 0 0 0 3.31 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 127μs 626ns 2.66μs 0 0 0 14.48 KB
master SendRequest netcoreapp3.1 141μs 821ns 7.15μs 0 0 0 17.28 KB
master SendRequest net472 0.00158ns 0.000518ns 0.00201ns 0 0 0 0 b
#6860 SendRequest net6.0 132μs 753ns 5.69μs 0 0 0 14.48 KB
#6860 SendRequest netcoreapp3.1 143μs 800ns 5.25μs 0 0 0 17.28 KB
#6860 SendRequest net472 0.00279ns 0.000818ns 0.00317ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 653μs 7.16μs 70.9μs 0 0 0 41.81 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 745μs 8.26μs 80.5μs 0 0 0 41.86 KB
master WriteAndFlushEnrichedTraces net472 871μs 4.95μs 46.7μs 7.35 3.68 0 53.37 KB
#6860 WriteAndFlushEnrichedTraces net6.0 562μs 2.85μs 14μs 0 0 0 41.61 KB
#6860 WriteAndFlushEnrichedTraces netcoreapp3.1 714μs 5.19μs 50.4μs 0 0 0 41.76 KB
#6860 WriteAndFlushEnrichedTraces net472 888μs 4.95μs 31.3μs 7.81 3.91 0 53.34 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.3μs 3.03ns 11.3ns 0.0129 0 0 1.03 KB
master ExecuteNonQuery netcoreapp3.1 1.78μs 3.2ns 11.1ns 0.00901 0 0 1.02 KB
master ExecuteNonQuery net472 2.15μs 1.56ns 5.83ns 0.153 0.0109 0 995 B
#6860 ExecuteNonQuery net6.0 1.27μs 1.59ns 5.72ns 0.0127 0 0 1.03 KB
#6860 ExecuteNonQuery netcoreapp3.1 1.77μs 6.24ns 24.2ns 0.00873 0 0 1.02 KB
#6860 ExecuteNonQuery net472 2.2μs 3.29ns 12.3ns 0.154 0.011 0 995 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.32μs 1.17ns 4.53ns 0.0133 0 0 984 B
master CallElasticsearch netcoreapp3.1 1.6μs 1.34ns 4.83ns 0.00809 0 0 984 B
master CallElasticsearch net472 2.58μs 1.38ns 4.98ns 0.154 0 0 1 KB
master CallElasticsearchAsync net6.0 1.28μs 1.58ns 6.13ns 0.0126 0 0 960 B
master CallElasticsearchAsync netcoreapp3.1 1.73μs 1.34ns 5.17ns 0.00864 0 0 1.03 KB
master CallElasticsearchAsync net472 2.6μs 1.17ns 4.53ns 0.156 0 0 1.06 KB
#6860 CallElasticsearch net6.0 1.26μs 1.33ns 5.16ns 0.013 0 0 984 B
#6860 CallElasticsearch netcoreapp3.1 1.55μs 1.6ns 5.97ns 0.00775 0 0 984 B
#6860 CallElasticsearch net472 2.55μs 1.36ns 5.26ns 0.153 0 0 1 KB
#6860 CallElasticsearchAsync net6.0 1.33μs 1.18ns 4.58ns 0.0132 0 0 960 B
#6860 CallElasticsearchAsync netcoreapp3.1 1.66μs 8.6ns 40.4ns 0.00818 0 0 1.03 KB
#6860 CallElasticsearchAsync net472 2.63μs 1.25ns 4.51ns 0.158 0 0 1.06 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.35μs 0.862ns 3.23ns 0.0135 0 0 960 B
master ExecuteAsync netcoreapp3.1 1.62μs 1.7ns 6.12ns 0.00819 0 0 960 B
master ExecuteAsync net472 1.81μs 0.999ns 3.74ns 0.145 0 0 923 B
#6860 ExecuteAsync net6.0 1.32μs 1.14ns 4.4ns 0.0132 0 0 960 B
#6860 ExecuteAsync netcoreapp3.1 1.75μs 4.07ns 15.8ns 0.00871 0 0 960 B
#6860 ExecuteAsync net472 1.78μs 0.928ns 3.47ns 0.143 0 0 923 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 4.4μs 1.76ns 6.09ns 0.0221 0 0 2.32 KB
master SendAsync netcoreapp3.1 5.29μs 9.69ns 37.5ns 0.0263 0 0 2.86 KB
master SendAsync net472 7.45μs 5.2ns 19.5ns 0.49 0 0 3.13 KB
#6860 SendAsync net6.0 4.29μs 1.56ns 5.82ns 0.0215 0 0 2.32 KB
#6860 SendAsync netcoreapp3.1 5.16μs 4.95ns 17.8ns 0.0258 0 0 2.86 KB
#6860 SendAsync net472 7.46μs 4.51ns 16.9ns 0.484 0 0 3.13 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 1.68μs 1.82ns 7.07ns 0.0168 0 0 1.71 KB
master EnrichedLog netcoreapp3.1 2.34μs 1.83ns 7.09ns 0.0118 0 0 1.71 KB
master EnrichedLog net472 2.65μs 1.81ns 7.02ns 0.25 0 0 1.64 KB
#6860 EnrichedLog net6.0 1.68μs 6.77ns 46.9ns 0.0142 0 0 1.71 KB
#6860 EnrichedLog netcoreapp3.1 2.33μs 3.96ns 14.8ns 0.0118 0 0 1.71 KB
#6860 EnrichedLog net472 2.65μs 5.39ns 20.9ns 0.254 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 112μs 295ns 1.14μs 0 0 0 4.32 KB
master EnrichedLog netcoreapp3.1 115μs 424ns 1.64μs 0 0 0 4.32 KB
master EnrichedLog net472 149μs 226ns 876ns 0 0 0 4.51 KB
#6860 EnrichedLog net6.0 114μs 263ns 1.02μs 0 0 0 4.32 KB
#6860 EnrichedLog netcoreapp3.1 120μs 395ns 1.53μs 0 0 0 4.32 KB
#6860 EnrichedLog net472 157μs 451ns 1.69μs 0 0 0 4.51 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 3.26μs 2.4ns 9.29ns 0.0331 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 4.27μs 5.13ns 19.9ns 0.0214 0 0 2.26 KB
master EnrichedLog net472 4.89μs 3.09ns 12ns 0.318 0 0 2.09 KB
#6860 EnrichedLog net6.0 3.1μs 2.2ns 8.23ns 0.031 0 0 2.26 KB
#6860 EnrichedLog netcoreapp3.1 4.24μs 15ns 54.2ns 0.0212 0 0 2.26 KB
#6860 EnrichedLog net472 4.76μs 2.75ns 9.53ns 0.332 0 0 2.09 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.37μs 1.14ns 4.41ns 0.0138 0 0 1.15 KB
master SendReceive netcoreapp3.1 1.8μs 1.13ns 4.22ns 0.00907 0 0 1.15 KB
master SendReceive net472 2.16μs 1.57ns 6.06ns 0.179 0 0 1.16 KB
#6860 SendReceive net6.0 1.46μs 2.43ns 8.76ns 0.0146 0 0 1.15 KB
#6860 SendReceive netcoreapp3.1 1.83μs 2.79ns 10.4ns 0.00902 0 0 1.15 KB
#6860 SendReceive net472 2.15μs 2.59ns 10ns 0.182 0 0 1.16 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 2.83μs 1.73ns 6.69ns 0.0142 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 3.9μs 2.18ns 7.85ns 0.0194 0 0 1.69 KB
master EnrichedLog net472 4.46μs 2.75ns 10.6ns 0.313 0 0 2.08 KB
#6860 EnrichedLog net6.0 2.78μs 1.86ns 6.71ns 0.0138 0 0 1.64 KB
#6860 EnrichedLog netcoreapp3.1 3.93μs 5.23ns 20.3ns 0.0197 0 0 1.69 KB
#6860 EnrichedLog net472 4.49μs 2.34ns 8.75ns 0.314 0 0 2.08 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 412ns 0.354ns 1.32ns 0.00815 0 0 584 B
master StartFinishSpan netcoreapp3.1 582ns 0.765ns 2.96ns 0.00573 0 0 584 B
master StartFinishSpan net472 658ns 0.658ns 2.37ns 0.0922 0 0 586 B
master StartFinishScope net6.0 492ns 0.316ns 1.18ns 0.00975 0 0 704 B
master StartFinishScope netcoreapp3.1 752ns 0.69ns 2.58ns 0.00755 0 0 704 B
master StartFinishScope net472 838ns 0.778ns 3.01ns 0.105 0 0 666 B
#6860 StartFinishSpan net6.0 449ns 1.3ns 5.04ns 0.00663 0 0 584 B
#6860 StartFinishSpan netcoreapp3.1 599ns 0.482ns 1.74ns 0.00588 0 0 584 B
#6860 StartFinishSpan net472 675ns 0.426ns 1.59ns 0.0918 0 0 586 B
#6860 StartFinishScope net6.0 487ns 0.4ns 1.5ns 0.00974 0 0 704 B
#6860 StartFinishScope netcoreapp3.1 720ns 0.679ns 2.54ns 0.00716 0 0 704 B
#6860 StartFinishScope net472 899ns 2.32ns 8.69ns 0.103 0 0 666 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 597ns 0.475ns 1.84ns 0.00901 0 0 704 B
master RunOnMethodBegin netcoreapp3.1 1μs 1.28ns 4.78ns 0.00501 0 0 704 B
master RunOnMethodBegin net472 1.14μs 1.45ns 5.62ns 0.102 0 0 666 B
#6860 RunOnMethodBegin net6.0 653ns 1.33ns 5.16ns 0.00989 0 0 704 B
#6860 RunOnMethodBegin netcoreapp3.1 1.08μs 0.807ns 3.02ns 0.00542 0 0 704 B
#6860 RunOnMethodBegin net472 1.1μs 0.641ns 2.48ns 0.105 0 0 666 B

@andrewlock
Copy link
Member Author

andrewlock commented Apr 15, 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.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6860) - mean (69ms)  : 67, 72
     .   : milestone, 69,
    master - mean (69ms)  : 66, 72
     .   : milestone, 69,

    section CallTarget+Inlining+NGEN
    This PR (6860) - mean (1,009ms)  : 979, 1039
     .   : milestone, 1009,
    master - mean (1,007ms)  : 987, 1027
     .   : milestone, 1007,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6860) - mean (103ms)  : 100, 105
     .   : milestone, 103,
    master - mean (102ms)  : 100, 104
     .   : milestone, 102,

    section CallTarget+Inlining+NGEN
    This PR (6860) - mean (695ms)  : 679, 712
     .   : milestone, 695,
    master - mean (694ms)  : 671, 717
     .   : milestone, 694,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6860) - mean (89ms)  : 87, 91
     .   : milestone, 89,
    master - mean (89ms)  : 87, 91
     .   : milestone, 89,

    section CallTarget+Inlining+NGEN
    This PR (6860) - mean (653ms)  : 635, 672
     .   : milestone, 653,
    master - mean (657ms)  : 632, 683
     .   : milestone, 657,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6860) - mean (191ms)  : 186, 195
     .   : milestone, 191,
    master - mean (189ms)  : 186, 193
     .   : milestone, 189,

    section CallTarget+Inlining+NGEN
    This PR (6860) - mean (1,115ms)  : 1082, 1147
     .   : milestone, 1115,
    master - mean (1,104ms)  : 1075, 1133
     .   : milestone, 1104,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6860) - mean (269ms)  : 265, 273
     .   : milestone, 269,
    master - mean (268ms)  : 264, 272
     .   : milestone, 268,

    section CallTarget+Inlining+NGEN
    This PR (6860) - mean (885ms)  : 854, 916
     .   : milestone, 885,
    master - mean (882ms)  : 854, 910
     .   : milestone, 882,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6860) - mean (262ms)  : 257, 266
     .   : milestone, 262,
    master - mean (260ms)  : 257, 264
     .   : milestone, 260,

    section CallTarget+Inlining+NGEN
    This PR (6860) - mean (876ms)  : 839, 912
     .   : milestone, 876,
    master - mean (870ms)  : 842, 899
     .   : milestone, 870,

Loading

@andrewlock andrewlock force-pushed the andrew/win-ssi/three-phase-commit branch from f512937 to 5ef369a Compare April 24, 2025 16:03
@pr-commenter
Copy link

pr-commenter bot commented Apr 24, 2025

Benchmarks

Benchmarks Report for tracer 🐌

Benchmarks for #6860 compared to master:

  • All benchmarks have the same speed
  • 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 ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.5μs 57.9ns 328ns 0 0 0 5.55 KB
master StartStopWithChild netcoreapp3.1 13.5μs 62ns 248ns 0 0 0 5.76 KB
master StartStopWithChild net472 22.5μs 114ns 537ns 0.947 0.21 0 6.2 KB
#6860 StartStopWithChild net6.0 10.5μs 56ns 307ns 0 0 0 5.53 KB
#6860 StartStopWithChild netcoreapp3.1 13.5μs 70.7ns 339ns 0 0 0 5.77 KB
#6860 StartStopWithChild net472 21.4μs 119ns 770ns 1 0.334 0.111 6.18 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 929μs 42.1ns 152ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 472ns 1.83μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.23ms 87.2ns 326ns 0 0 0 3.31 KB
#6860 WriteAndFlushEnrichedTraces net6.0 950μs 62ns 215ns 0 0 0 2.7 KB
#6860 WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 86.4ns 312ns 0 0 0 2.7 KB
#6860 WriteAndFlushEnrichedTraces net472 1.23ms 30.2ns 109ns 0 0 0 3.31 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.1μs 47ns 176ns 0 0 0 14.53 KB
master SendRequest netcoreapp3.1 71.8μs 349ns 1.56μs 0 0 0 17.42 KB
master SendRequest net472 0.011ns 0.00348ns 0.0135ns 0 0 0 0 b
#6860 SendRequest net6.0 61.1μs 308ns 1.45μs 0 0 0 14.53 KB
#6860 SendRequest netcoreapp3.1 71.8μs 374ns 1.76μs 0 0 0 17.42 KB
#6860 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #6860

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.74 KB 42.61 KB 868 B 2.08%

Fewer allocations 🎉 in #6860

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.08 KB 55.65 KB -437 B -0.78%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 725μs 2.03μs 7.58μs 0 0 0 41.74 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 749μs 4.17μs 26.1μs 0 0 0 41.9 KB
master WriteAndFlushEnrichedTraces net472 885μs 4.39μs 18.1μs 8.33 0 0 56.08 KB
#6860 WriteAndFlushEnrichedTraces net6.0 663μs 344ns 1.19μs 0 0 0 42.61 KB
#6860 WriteAndFlushEnrichedTraces netcoreapp3.1 665μs 2.08μs 8.05μs 0 0 0 41.84 KB
#6860 WriteAndFlushEnrichedTraces net472 840μs 3.2μs 12μs 4.46 0 0 55.65 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.95μs 7.2ns 27.9ns 0 0 0 1.03 KB
master ExecuteNonQuery netcoreapp3.1 2.4μs 10.1ns 39.1ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.77μs 2.61ns 10.1ns 0.153 0.0139 0 995 B
#6860 ExecuteNonQuery net6.0 1.95μs 3.32ns 12.9ns 0 0 0 1.03 KB
#6860 ExecuteNonQuery netcoreapp3.1 2.57μs 5.26ns 20.4ns 0 0 0 1.02 KB
#6860 ExecuteNonQuery net472 2.78μs 3.19ns 12.4ns 0.151 0.0137 0 995 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.79μs 2.44ns 9.44ns 0 0 0 1.04 KB
master CallElasticsearch netcoreapp3.1 2.35μs 11.3ns 43.9ns 0 0 0 1.04 KB
master CallElasticsearch net472 3.53μs 2.5ns 9.67ns 0.159 0 0 1.05 KB
master CallElasticsearchAsync net6.0 1.84μs 3.11ns 12ns 0 0 0 1.02 KB
master CallElasticsearchAsync netcoreapp3.1 2.37μs 10.4ns 40.3ns 0 0 0 1.09 KB
master CallElasticsearchAsync net472 3.6μs 3.08ns 11.9ns 0.161 0 0 1.11 KB
#6860 CallElasticsearch net6.0 1.81μs 3.12ns 12.1ns 0 0 0 1.04 KB
#6860 CallElasticsearch netcoreapp3.1 2.39μs 7.29ns 28.2ns 0 0 0 1.04 KB
#6860 CallElasticsearch net472 3.49μs 1.72ns 6.65ns 0.156 0 0 1.05 KB
#6860 CallElasticsearchAsync net6.0 1.79μs 6.35ns 24.6ns 0 0 0 1.02 KB
#6860 CallElasticsearchAsync netcoreapp3.1 2.41μs 6.12ns 23.7ns 0 0 0 1.09 KB
#6860 CallElasticsearchAsync net472 3.56μs 3.86ns 14.9ns 0.161 0 0 1.11 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.82μs 1.9ns 7.37ns 0 0 0 960 B
master ExecuteAsync netcoreapp3.1 2.3μs 11.1ns 45.8ns 0 0 0 960 B
master ExecuteAsync net472 2.57μs 5.99ns 23.2ns 0.141 0 0 923 B
#6860 ExecuteAsync net6.0 1.87μs 3.4ns 13.2ns 0 0 0 960 B
#6860 ExecuteAsync netcoreapp3.1 2.35μs 6.68ns 25.9ns 0 0 0 960 B
#6860 ExecuteAsync net472 2.53μs 0.836ns 3.24ns 0.139 0 0 923 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.91μs 13.8ns 53.3ns 0 0 0 2.37 KB
master SendAsync netcoreapp3.1 8.38μs 13ns 50.4ns 0 0 0 2.9 KB
master SendAsync net472 12.2μs 9.86ns 38.2ns 0.487 0 0 3.19 KB
#6860 SendAsync net6.0 7.23μs 19.2ns 71.8ns 0 0 0 2.37 KB
#6860 SendAsync netcoreapp3.1 8.43μs 8.22ns 31.8ns 0 0 0 2.9 KB
#6860 SendAsync net472 12.4μs 16.1ns 62.2ns 0.491 0 0 3.19 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.64μs 1.2ns 4.64ns 0 0 0 1.76 KB
master EnrichedLog netcoreapp3.1 3.47μs 16.7ns 64.7ns 0 0 0 1.76 KB
master EnrichedLog net472 4.07μs 4.57ns 17.7ns 0.264 0 0 1.69 KB
#6860 EnrichedLog net6.0 2.59μs 3.66ns 14.2ns 0 0 0 1.76 KB
#6860 EnrichedLog netcoreapp3.1 3.35μs 16ns 66.2ns 0 0 0 1.76 KB
#6860 EnrichedLog net472 3.87μs 4.37ns 16.9ns 0.251 0 0 1.69 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 124μs 206ns 772ns 0 0 0 4.37 KB
master EnrichedLog netcoreapp3.1 133μs 676ns 2.95μs 0 0 0 4.37 KB
master EnrichedLog net472 173μs 806ns 3.22μs 0 0 0 4.57 KB
#6860 EnrichedLog net6.0 124μs 109ns 379ns 0 0 0 4.37 KB
#6860 EnrichedLog netcoreapp3.1 128μs 104ns 388ns 0 0 0 4.37 KB
#6860 EnrichedLog net472 169μs 295ns 1.1μs 0 0 0 4.57 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 5.09μs 21.2ns 82.3ns 0 0 0 2.32 KB
master EnrichedLog netcoreapp3.1 6.69μs 23.7ns 91.9ns 0 0 0 2.32 KB
master EnrichedLog net472 7.28μs 5.57ns 20.8ns 0.326 0 0 2.14 KB
#6860 EnrichedLog net6.0 5μs 4.47ns 17.3ns 0 0 0 2.32 KB
#6860 EnrichedLog netcoreapp3.1 6.64μs 5.04ns 19.5ns 0 0 0 2.32 KB
#6860 EnrichedLog net472 7.34μs 7.26ns 28.1ns 0.328 0 0 2.14 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.99μs 9.91ns 45.4ns 0 0 0 1.21 KB
master SendReceive netcoreapp3.1 2.63μs 11.5ns 44.6ns 0 0 0 1.21 KB
master SendReceive net472 3.06μs 6.39ns 24.8ns 0.181 0 0 1.21 KB
#6860 SendReceive net6.0 2.13μs 7.29ns 28.2ns 0 0 0 1.21 KB
#6860 SendReceive netcoreapp3.1 2.64μs 13.2ns 55.8ns 0 0 0 1.21 KB
#6860 SendReceive net472 3.12μs 3.42ns 13.3ns 0.187 0 0 1.21 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.24μs 8.19ns 31.7ns 0 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 5.79μs 5.26ns 20.4ns 0 0 0 1.69 KB
master EnrichedLog net472 6.68μs 8.78ns 34ns 0.328 0 0 2.08 KB
#6860 EnrichedLog net6.0 4.38μs 11.8ns 45.8ns 0 0 0 1.64 KB
#6860 EnrichedLog netcoreapp3.1 5.54μs 18.6ns 72ns 0 0 0 1.69 KB
#6860 EnrichedLog net472 6.64μs 7.36ns 27.5ns 0.328 0 0 2.08 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 750ns 3.86ns 18.9ns 0 0 0 584 B
master StartFinishSpan netcoreapp3.1 952ns 2.58ns 9.99ns 0 0 0 584 B
master StartFinishSpan net472 911ns 0.316ns 1.23ns 0.0915 0 0 586 B
master StartFinishScope net6.0 905ns 4.74ns 24.2ns 0 0 0 704 B
master StartFinishScope netcoreapp3.1 1.14μs 5.74ns 25.7ns 0 0 0 704 B
master StartFinishScope net472 1.11μs 0.379ns 1.42ns 0.105 0 0 666 B
#6860 StartFinishSpan net6.0 763ns 0.232ns 0.868ns 0 0 0 584 B
#6860 StartFinishSpan netcoreapp3.1 941ns 5.17ns 29.7ns 0 0 0 584 B
#6860 StartFinishSpan net472 909ns 0.238ns 0.921ns 0.0912 0 0 586 B
#6860 StartFinishScope net6.0 936ns 4.25ns 16.5ns 0 0 0 704 B
#6860 StartFinishScope netcoreapp3.1 1.19μs 5.48ns 21.2ns 0 0 0 704 B
#6860 StartFinishScope net472 1.1μs 0.112ns 0.435ns 0.104 0 0 666 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.02μs 5.33ns 26.1ns 0 0 0 705 B
master RunOnMethodBegin netcoreapp3.1 1.33μs 6.74ns 28.6ns 0 0 0 704 B
master RunOnMethodBegin net472 1.36μs 0.734ns 2.84ns 0.102 0 0 666 B
#6860 RunOnMethodBegin net6.0 1.01μs 5.29ns 28ns 0 0 0 704 B
#6860 RunOnMethodBegin netcoreapp3.1 1.34μs 6.26ns 25.8ns 0 0 0 704 B
#6860 RunOnMethodBegin net472 1.35μs 1.16ns 4.49ns 0.101 0 0 666 B

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants