Skip to content

[Profiler] Don't take tracer stable config notification when kill switch detected#7705

Merged
lucaspimentel merged 4 commits intomasterfrom
chrisnas/fix_stable_config_issue
Oct 24, 2025
Merged

[Profiler] Don't take tracer stable config notification when kill switch detected#7705
lucaspimentel merged 4 commits intomasterfrom
chrisnas/fix_stable_config_issue

Conversation

@chrisnas
Copy link
Contributor

Summary of changes

Discard tracer notification of Stable Configuration

Reason for change

Avoid unexpected restart of the services

Implementation details

Check kill switch also in the P/Invoke code

Test coverage

Other details

@chrisnas chrisnas requested a review from a team as a code owner October 24, 2025 12:36
@github-actions github-actions bot added the area:profiler Issues related to the continous-profiler label Oct 24, 2025
@datadog-official

This comment has been minimized.

@dd-trace-dotnet-ci-bot
Copy link

dd-trace-dotnet-ci-bot bot commented Oct 24, 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 (7705) - mean (76ms)  : 74, 78
     .   : milestone, 76,
    master - mean (71ms)  : 70, 73
     .   : milestone, 71,

    section Baseline
    This PR (7705) - mean (72ms)  : 70, 74
     .   : milestone, 72,
    master - mean (68ms)  : 66, 70
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (7705) - mean (1,068ms)  : 1003, 1133
     .   : milestone, 1068,
    master - mean (1,044ms)  : 994, 1095
     .   : milestone, 1044,

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

    section Baseline
    This PR (7705) - mean (112ms)  : 109, 115
     .   : milestone, 112,
    master - mean (105ms)  : 102, 108
     .   : milestone, 105,

    section CallTarget+Inlining+NGEN
    This PR (7705) - mean (765ms)  : 740, 789
     .   : milestone, 765,
    master - mean (745ms)  : 723, 766
     .   : milestone, 745,

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

    section Baseline
    This PR (7705) - mean (98ms)  : 96, 101
     .   : milestone, 98,
    master - mean (93ms)  : 90, 96
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (7705) - mean (724ms)  : 693, 756
     .   : milestone, 724,
    master - mean (704ms)  : 680, 727
     .   : milestone, 704,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7705) - mean (99ms)  : crit, 97, 101
     .   : crit, milestone, 99,
    master - mean (92ms)  : 91, 94
     .   : milestone, 92,

    section Baseline
    This PR (7705) - mean (98ms)  : 95, 100
     .   : milestone, 98,
    master - mean (92ms)  : 90, 94
     .   : milestone, 92,

    section CallTarget+Inlining+NGEN
    This PR (7705) - mean (679ms)  : 660, 698
     .   : milestone, 679,
    master - mean (660ms)  : 645, 675
     .   : milestone, 660,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7705) - mean (207ms)  : 203, 211
     .   : milestone, 207,
    master - mean (205ms)  : 201, 209
     .   : milestone, 205,

    section Baseline
    This PR (7705) - mean (203ms)  : 199, 208
     .   : milestone, 203,
    master - mean (202ms)  : 196, 207
     .   : milestone, 202,

    section CallTarget+Inlining+NGEN
    This PR (7705) - mean (1,196ms)  : 1140, 1252
     .   : milestone, 1196,
    master - mean (1,208ms)  : 1135, 1280
     .   : milestone, 1208,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7705) - mean (290ms)  : 279, 301
     .   : milestone, 290,
    master - mean (294ms)  : 286, 301
     .   : milestone, 294,

    section Baseline
    This PR (7705) - mean (289ms)  : 278, 300
     .   : milestone, 289,
    master - mean (294ms)  : 286, 302
     .   : milestone, 294,

    section CallTarget+Inlining+NGEN
    This PR (7705) - mean (981ms)  : 936, 1025
     .   : milestone, 981,
    master - mean (980ms)  : 921, 1040
     .   : milestone, 980,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7705) - mean (283ms)  : 275, 291
     .   : milestone, 283,
    master - mean (279ms)  : 271, 286
     .   : milestone, 279,

    section Baseline
    This PR (7705) - mean (283ms)  : 272, 294
     .   : milestone, 283,
    master - mean (287ms)  : 274, 299
     .   : milestone, 287,

    section CallTarget+Inlining+NGEN
    This PR (7705) - mean (950ms)  : 899, 1002
     .   : milestone, 950,
    master - mean (944ms)  : 905, 983
     .   : milestone, 944,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7705) - mean (286ms)  : 274, 298
     .   : milestone, 286,
    master - mean (275ms)  : 268, 282
     .   : milestone, 275,

    section Baseline
    This PR (7705) - mean (281ms)  : 267, 295
     .   : milestone, 281,
    master - mean (277ms)  : 268, 286
     .   : milestone, 277,

    section CallTarget+Inlining+NGEN
    This PR (7705) - mean (880ms)  : 849, 911
     .   : milestone, 880,
    master - mean (875ms)  : 848, 902
     .   : milestone, 875,

Loading

@chrisnas chrisnas requested review from a team as code owners October 24, 2025 16:08
Copy link
Member

@andrewlock andrewlock left a comment

Choose a reason for hiding this comment

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

Thanks!

@lucaspimentel
Copy link
Member

@codex review

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Swish!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@lucaspimentel lucaspimentel enabled auto-merge (squash) October 24, 2025 16:40
@pr-commenter
Copy link

pr-commenter bot commented Oct 24, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7705 compared to master:

  • All benchmarks have the same speed
  • 6 benchmarks have fewer allocations
  • 8 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 ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7705

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.7 KB 5.67 KB -33 B -0.58%
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.04 KB 6 KB -41 B -0.68%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.9μs 58.9ns 328ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 13.9μs 72.5ns 348ns 0 0 0 5.7 KB
master StartStopWithChild net472 22.1μs 120ns 647ns 0.996 0.442 0.111 6.04 KB
#7705 StartStopWithChild net6.0 10.9μs 56.4ns 276ns 0 0 0 5.51 KB
#7705 StartStopWithChild netcoreapp3.1 13.3μs 70.4ns 359ns 0 0 0 5.67 KB
#7705 StartStopWithChild net472 21.7μs 114ns 605ns 0.999 0.333 0.111 6 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 930μs 116ns 402ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.05ms 512ns 1.98μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.18ms 75.1ns 271ns 0 0 0 3.31 KB
#7705 WriteAndFlushEnrichedTraces net6.0 934μs 229ns 857ns 0 0 0 2.71 KB
#7705 WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 112ns 387ns 0 0 0 2.7 KB
#7705 WriteAndFlushEnrichedTraces net472 1.2ms 485ns 1.88μs 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Unknown 🤷 Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleSimpleBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleSimpleBody net472 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleMoreComplexBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleMoreComplexBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master AllCycleMoreComplexBody net472 N/A N/A N/A NaN NaN NaN 0 b
master ObjectExtractorSimpleBody net6.0 321ns 0.422ns 1.64ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 403ns 2.26ns 14.7ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 296ns 0.0325ns 0.117ns 0.0432 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.38μs 2.5ns 8.67ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.82μs 37.3ns 154ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.73μs 1.42ns 5.32ns 0.572 0 0 3.8 KB
#7705 AllCycleSimpleBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7705 AllCycleSimpleBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#7705 AllCycleSimpleBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7705 AllCycleMoreComplexBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7705 AllCycleMoreComplexBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#7705 AllCycleMoreComplexBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7705 ObjectExtractorSimpleBody net6.0 315ns 0.167ns 0.646ns 0 0 0 280 B
#7705 ObjectExtractorSimpleBody netcoreapp3.1 400ns 2.27ns 14.9ns 0 0 0 272 B
#7705 ObjectExtractorSimpleBody net472 298ns 0.763ns 2.86ns 0.0435 0 0 281 B
#7705 ObjectExtractorMoreComplexBody net6.0 6.33μs 29.6ns 111ns 0 0 0 3.78 KB
#7705 ObjectExtractorMoreComplexBody netcoreapp3.1 7.76μs 37.9ns 161ns 0 0 0 3.69 KB
#7705 ObjectExtractorMoreComplexBody net472 6.7μs 2.93ns 11ns 0.571 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 76.7μs 27ns 101ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97.5μs 254ns 984ns 0 0 0 32.4 KB
master EncodeArgs net472 111μs 4.08ns 14.7ns 5 0 0 32.51 KB
master EncodeLegacyArgs net6.0 149μs 27.6ns 103ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 197μs 48.5ns 181ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 264μs 31.6ns 122ns 0 0 0 2.17 KB
#7705 EncodeArgs net6.0 76.3μs 14.9ns 55.8ns 0 0 0 32.4 KB
#7705 EncodeArgs netcoreapp3.1 96.9μs 207ns 775ns 0 0 0 32.4 KB
#7705 EncodeArgs net472 109μs 8.47ns 31.7ns 4.92 0 0 32.5 KB
#7705 EncodeLegacyArgs net6.0 145μs 120ns 464ns 0 0 0 2.15 KB
#7705 EncodeLegacyArgs netcoreapp3.1 200μs 175ns 676ns 0 0 0 2.14 KB
#7705 EncodeLegacyArgs net472 265μs 34ns 127ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 392μs 91ns 328ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 416μs 129ns 481ns 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 426μs 38.2ns 148ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 287μs 35.3ns 127ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 694μs 11.8μs 117μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 309μs 23.1ns 89.4ns 0 0 0 2.29 KB
#7705 RunWafRealisticBenchmark net6.0 395μs 69.8ns 261ns 0 0 0 4.55 KB
#7705 RunWafRealisticBenchmark netcoreapp3.1 411μs 467ns 1.62μs 0 0 0 4.48 KB
#7705 RunWafRealisticBenchmark net472 431μs 44.5ns 167ns 0 0 0 4.66 KB
#7705 RunWafRealisticBenchmarkWithAttack net6.0 288μs 33.5ns 125ns 0 0 0 2.24 KB
#7705 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 714μs 5μs 50μs 0 0 0 2.22 KB
#7705 RunWafRealisticBenchmarkWithAttack net472 310μs 23.2ns 89.7ns 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.5μs 40.3ns 140ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 70.6μs 90.3ns 326ns 0 0 0 17.42 KB
master SendRequest net472 0.0032ns 0.00173ns 0.00671ns 0 0 0 0 b
#7705 SendRequest net6.0 60.9μs 42ns 157ns 0 0 0 14.52 KB
#7705 SendRequest netcoreapp3.1 72.5μs 82.2ns 319ns 0 0 0 17.42 KB
#7705 SendRequest net472 0.00317ns 0.00183ns 0.00707ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7705

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 0 b 73 B 73 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 0 b 6 B 6 B
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 0 b 47 B 47 B

Fewer allocations 🎉 in #7705

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 7 B 4 B -3 B -42.86%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.95ms 250ns 935ns 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.16ms 3.17μs 12.3μs 0 0 0 640 KB
master OriginalCharSlice net472 2.68ms 113ns 407ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.4ms 81.5ns 305ns 0 0 0 7 B
master OptimizedCharSlice netcoreapp3.1 1.76ms 613ns 2.21μs 0 0 0 1 B
master OptimizedCharSlice net472 1.89ms 310ns 1.2μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 813μs 16.6ns 60ns 0 0 0 4 B
master OptimizedCharSliceWithPool netcoreapp3.1 879μs 126ns 487ns 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.16ms 73ns 283ns 0 0 0 0 b
#7705 OriginalCharSlice net6.0 1.9ms 881ns 3.3μs 0 0 0 640 KB
#7705 OriginalCharSlice netcoreapp3.1 2.06ms 7.54μs 29.2μs 0 0 0 640 KB
#7705 OriginalCharSlice net472 2.67ms 817ns 3.06μs 100 0 0 641.95 KB
#7705 OptimizedCharSlice net6.0 1.36ms 234ns 908ns 0 0 0 4 B
#7705 OptimizedCharSlice netcoreapp3.1 1.68ms 323ns 1.25μs 0 0 0 1 B
#7705 OptimizedCharSlice net472 1.93ms 196ns 732ns 0 0 0 73 B
#7705 OptimizedCharSliceWithPool net6.0 864μs 48.1ns 173ns 0 0 0 4 B
#7705 OptimizedCharSliceWithPool netcoreapp3.1 812μs 191ns 740ns 0 0 0 6 B
#7705 OptimizedCharSliceWithPool net472 1.15ms 140ns 541ns 0 0 0 47 B
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7705

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.9 KB 42.6 KB 697 B 1.66%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.71 KB 42.17 KB 463 B 1.11%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.08 KB 56.49 KB 409 B 0.73%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 656μs 967ns 3.62μs 0 0 0 41.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 699μs 4.07μs 34.3μs 0 0 0 41.9 KB
master WriteAndFlushEnrichedTraces net472 883μs 3.31μs 12.8μs 8.33 0 0 56.08 KB
#7705 WriteAndFlushEnrichedTraces net6.0 627μs 268ns 1.04μs 0 0 0 42.17 KB
#7705 WriteAndFlushEnrichedTraces netcoreapp3.1 778μs 4.51μs 41.3μs 0 0 0 42.6 KB
#7705 WriteAndFlushEnrichedTraces net472 877μs 1.6μs 5.97μs 8.33 0 0 56.49 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.87μs 8.17ns 30.6ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.64μs 5.14ns 19.9ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.9μs 2.84ns 11ns 0.146 0.0146 0 987 B
#7705 ExecuteNonQuery net6.0 1.91μs 6.95ns 26.9ns 0 0 0 1.02 KB
#7705 ExecuteNonQuery netcoreapp3.1 2.63μs 9.93ns 38.5ns 0 0 0 1.02 KB
#7705 ExecuteNonQuery net472 2.85μs 3.55ns 13.7ns 0.156 0.0142 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.79μs 8.28ns 32.1ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.19μs 7.12ns 27.6ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.75μs 2.4ns 8.99ns 0.149 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.85μs 9.3ns 41.6ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.32μs 10.2ns 39.5ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.62μs 4.66ns 18ns 0.162 0 0 1.1 KB
#7705 CallElasticsearch net6.0 1.78μs 8.91ns 38.9ns 0 0 0 1.03 KB
#7705 CallElasticsearch netcoreapp3.1 2.35μs 11.7ns 49.4ns 0 0 0 1.03 KB
#7705 CallElasticsearch net472 3.47μs 0.896ns 3.47ns 0.156 0 0 1.04 KB
#7705 CallElasticsearchAsync net6.0 1.93μs 0.637ns 2.38ns 0 0 0 1.01 KB
#7705 CallElasticsearchAsync netcoreapp3.1 2.46μs 11.3ns 45.2ns 0 0 0 1.08 KB
#7705 CallElasticsearchAsync net472 3.65μs 2.67ns 10.3ns 0.164 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.91μs 9.2ns 39ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.55μs 11.6ns 46.6ns 0 0 0 952 B
master ExecuteAsync net472 2.71μs 1.65ns 6.38ns 0.135 0 0 915 B
#7705 ExecuteAsync net6.0 1.9μs 2.52ns 9.77ns 0 0 0 952 B
#7705 ExecuteAsync netcoreapp3.1 2.46μs 7.28ns 28.2ns 0 0 0 952 B
#7705 ExecuteAsync net472 2.59μs 1.22ns 4.72ns 0.142 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.96μs 21.8ns 81.4ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.76μs 16ns 62ns 0 0 0 2.9 KB
master SendAsync net472 12.4μs 8.03ns 31.1ns 0.495 0 0 3.18 KB
#7705 SendAsync net6.0 7.15μs 17.5ns 65.6ns 0 0 0 2.36 KB
#7705 SendAsync netcoreapp3.1 8.68μs 10.6ns 39.5ns 0 0 0 2.9 KB
#7705 SendAsync net472 12.5μs 11.3ns 43.7ns 0.5 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7705

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 42.94 KB 44.04 KB 1.1 KB 2.55%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.44 KB 44.11 KB 672 B 1.55%

Fewer allocations 🎉 in #7705

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 274.9 KB 257.49 KB -17.42 KB -6.34%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 274.75 KB 255.82 KB -18.94 KB -6.89%
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 43.3μs 167ns 579ns 0 0 0 43.44 KB
master StringConcatBenchmark netcoreapp3.1 48.7μs 261ns 1.95μs 0 0 0 42.94 KB
master StringConcatBenchmark net472 57.4μs 224ns 840ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 468μs 1.25μs 4.5μs 0 0 0 274.9 KB
master StringConcatAspectBenchmark netcoreapp3.1 503μs 1.8μs 7.22μs 0 0 0 274.75 KB
master StringConcatAspectBenchmark net472 401μs 2.16μs 12.2μs 0 0 0 278.53 KB
#7705 StringConcatBenchmark net6.0 46.1μs 325ns 3.07μs 0 0 0 44.11 KB
#7705 StringConcatBenchmark netcoreapp3.1 48.1μs 209ns 754ns 0 0 0 44.04 KB
#7705 StringConcatBenchmark net472 57.2μs 166ns 621ns 0 0 0 57.34 KB
#7705 StringConcatAspectBenchmark net6.0 458μs 2.01μs 7.26μs 0 0 0 257.49 KB
#7705 StringConcatAspectBenchmark netcoreapp3.1 501μs 1.81μs 6.79μs 0 0 0 255.82 KB
#7705 StringConcatAspectBenchmark net472 405μs 1.96μs 13.5μs 0 0 0 278.53 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.65μs 0.546ns 2.12ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.68μs 15.5ns 60.1ns 0 0 0 1.7 KB
master EnrichedLog net472 3.82μs 2.46ns 9.53ns 0.248 0 0 1.64 KB
#7705 EnrichedLog net6.0 2.67μs 14.3ns 73.1ns 0 0 0 1.7 KB
#7705 EnrichedLog netcoreapp3.1 3.59μs 17ns 65.8ns 0 0 0 1.7 KB
#7705 EnrichedLog net472 4.2μs 4.61ns 17.9ns 0.253 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 126μs 183ns 685ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 129μs 63.2ns 219ns 0 0 0 4.31 KB
master EnrichedLog net472 170μs 50.8ns 197ns 0 0 0 4.52 KB
#7705 EnrichedLog net6.0 124μs 83.2ns 311ns 0 0 0 4.31 KB
#7705 EnrichedLog netcoreapp3.1 128μs 233ns 873ns 0 0 0 4.31 KB
#7705 EnrichedLog net472 168μs 31.7ns 123ns 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.88μs 3.37ns 12.6ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.89μs 12.8ns 49.5ns 0 0 0 2.26 KB
master EnrichedLog net472 7.65μs 3.5ns 13.6ns 0.304 0 0 2.08 KB
#7705 EnrichedLog net6.0 4.94μs 12.5ns 48.4ns 0 0 0 2.26 KB
#7705 EnrichedLog netcoreapp3.1 6.84μs 31.2ns 121ns 0 0 0 2.26 KB
#7705 EnrichedLog net472 7.51μs 6.66ns 24ns 0.301 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 2.04μs 8.68ns 33.6ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.72μs 12.6ns 50.2ns 0 0 0 1.2 KB
master SendReceive net472 3.16μs 6.92ns 26.8ns 0.187 0 0 1.2 KB
#7705 SendReceive net6.0 1.97μs 1.3ns 5.04ns 0 0 0 1.2 KB
#7705 SendReceive netcoreapp3.1 2.54μs 12.5ns 52.9ns 0 0 0 1.2 KB
#7705 SendReceive net472 2.91μs 1ns 3.89ns 0.188 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.3μs 11.8ns 45.7ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.85μs 12.9ns 50ns 0 0 0 1.63 KB
master EnrichedLog net472 6.54μs 8.62ns 33.4ns 0.293 0 0 2.03 KB
#7705 EnrichedLog net6.0 4.28μs 12.9ns 49.9ns 0 0 0 1.58 KB
#7705 EnrichedLog netcoreapp3.1 5.47μs 5.65ns 21.9ns 0 0 0 1.63 KB
#7705 EnrichedLog net472 6.61μs 8.5ns 32.9ns 0.298 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 794ns 0.468ns 1.81ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 1μs 3.87ns 14.5ns 0 0 0 576 B
master StartFinishSpan net472 910ns 0.371ns 1.44ns 0.0914 0 0 578 B
master StartFinishScope net6.0 912ns 4.99ns 29.1ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.18μs 6.18ns 30.3ns 0 0 0 697 B
master StartFinishScope net472 1.18μs 2.24ns 8.37ns 0.1 0 0 658 B
#7705 StartFinishSpan net6.0 778ns 3.99ns 19.6ns 0 0 0 576 B
#7705 StartFinishSpan netcoreapp3.1 949ns 4.93ns 23.6ns 0 0 0 576 B
#7705 StartFinishSpan net472 919ns 0.632ns 2.37ns 0.0876 0 0 578 B
#7705 StartFinishScope net6.0 920ns 4.1ns 15.9ns 0 0 0 696 B
#7705 StartFinishScope netcoreapp3.1 1.19μs 6.12ns 29.3ns 0 0 0 696 B
#7705 StartFinishScope net472 1.15μs 0.27ns 1.05ns 0.104 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.08μs 2.67ns 10.3ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.42μs 6.95ns 31.1ns 0 0 0 696 B
master RunOnMethodBegin net472 1.44μs 1.28ns 4.79ns 0.101 0 0 658 B
#7705 RunOnMethodBegin net6.0 1.1μs 2.77ns 10.7ns 0 0 0 696 B
#7705 RunOnMethodBegin netcoreapp3.1 1.43μs 7.36ns 35.3ns 0 0 0 696 B
#7705 RunOnMethodBegin net472 1.44μs 0.496ns 1.79ns 0.101 0 0 658 B

Copy link
Collaborator

@gleocadie gleocadie left a comment

Choose a reason for hiding this comment

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

LGTM

@lucaspimentel lucaspimentel merged commit 4db71c7 into master Oct 24, 2025
160 checks passed
@lucaspimentel lucaspimentel deleted the chrisnas/fix_stable_config_issue branch October 24, 2025 20:26
@github-actions github-actions bot added this to the vNext-v3 milestone Oct 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:profiler Issues related to the continous-profiler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants