-
Notifications
You must be signed in to change notification settings - Fork 149
Andrew/otel optimizations #8030
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
Conversation
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8030) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-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 highlighted in **red**. The following thresholds were used for comparing the execution times:
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). Duration chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8030) - mean (69ms) : 67, 70
master - mean (68ms) : 67, 70
section Bailout
This PR (8030) - mean (72ms) : 71, 73
master - mean (72ms) : 71, 73
section CallTarget+Inlining+NGEN
This PR (8030) - mean (1,019ms) : 942, 1096
master - mean (1,007ms) : 966, 1048
FakeDbCommand (.NET Core 3.1)gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8030) - mean (106ms) : 103, 108
master - mean (106ms) : 103, 109
section Bailout
This PR (8030) - mean (107ms) : 106, 108
master - mean (107ms) : 105, 108
section CallTarget+Inlining+NGEN
This PR (8030) - mean (751ms) : 660, 842
master - mean (723ms) : 668, 779
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8030) - mean (125ms) : 114, 136
master - mean (93ms) : 91, 95
section Bailout
This PR (8030) - mean (128ms) : crit, 127, 129
master - mean (94ms) : 93, 95
section CallTarget+Inlining+NGEN
This PR (8030) - mean (723ms) : 682, 764
master - mean (703ms) : 657, 749
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8030) - mean (92ms) : 90, 95
master - mean (92ms) : 89, 94
section Bailout
This PR (8030) - mean (93ms) : 92, 94
master - mean (93ms) : 92, 94
section CallTarget+Inlining+NGEN
This PR (8030) - mean (633ms) : 622, 645
master - mean (632ms) : 616, 647
HttpMessageHandler (.NET Framework 4.8)gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8030) - mean (194ms) : 189, 199
master - mean (193ms) : 189, 197
section Bailout
This PR (8030) - mean (197ms) : 194, 199
master - mean (196ms) : 194, 198
section CallTarget+Inlining+NGEN
This PR (8030) - mean (1,116ms) : 1073, 1158
master - mean (1,114ms) : 1064, 1164
HttpMessageHandler (.NET Core 3.1)gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8030) - mean (278ms) : 272, 285
master - mean (276ms) : 271, 281
section Bailout
This PR (8030) - mean (277ms) : 273, 282
master - mean (276ms) : 273, 280
section CallTarget+Inlining+NGEN
This PR (8030) - mean (981ms) : crit, 828, 1134
master - mean (921ms) : 865, 976
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8030) - mean (271ms) : 266, 275
master - mean (271ms) : 264, 278
section Bailout
This PR (8030) - mean (270ms) : 267, 273
master - mean (270ms) : 267, 273
section CallTarget+Inlining+NGEN
This PR (8030) - mean (929ms) : 890, 967
master - mean (930ms) : 894, 966
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8030) - mean (270ms) : 263, 278
master - mean (269ms) : 264, 275
section Bailout
This PR (8030) - mean (270ms) : 266, 274
master - mean (269ms) : 265, 273
section CallTarget+Inlining+NGEN
This PR (8030) - mean (828ms) : 803, 852
master - mean (821ms) : 802, 840
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
BenchmarksBenchmark execution time: 2026-01-08 16:46:20 Comparing candidate commit 1c3bd83 in PR branch Found 13 performance improvements and 10 performance regressions! Performance is the same for 153 metrics, 10 unstable metrics. scenario:Benchmarks.Trace.ActivityBenchmark.StartStopWithChild net472
scenario:Benchmarks.Trace.ActivityBenchmark.StartStopWithChild net6.0
scenario:Benchmarks.Trace.ActivityBenchmark.StartStopWithChild netcoreapp3.1
scenario:Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces net6.0
scenario:Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody net6.0
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody net6.0
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs net6.0
scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs netcoreapp3.1
scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest net6.0
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net472
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces netcoreapp3.1
scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch net472
scenario:Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync netcoreapp3.1
scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark net6.0
scenario:Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark netcoreapp3.1
scenario:Benchmarks.Trace.SerilogBenchmark.EnrichedLog net6.0
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope net6.0
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope netcoreapp3.1
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan net6.0
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan netcoreapp3.1
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishTwoScopes net6.0
|
6148ec2 to
fbe0685
Compare
…d closer to what we actually do anyway
| Method | Mean | Error | StdDev | Allocated | |----------------- |----------:|----------:|----------:|----------:| | ArrayBasedUpdate | 30.029 us | 0.1795 us | 0.1402 us | - | | PairBasedUpdate | 2.815 us | 0.0232 us | 0.0206 us | - |
TODO: - Add unit tests - Add tests for handling of fallback path, particularly with "old" activity types - Benchmark across all different TFMs - Expose more widely? - Use for activity links and events
1eb6e1c to
0699340
Compare
…them (e.g. the activity is not ignored
… reduce allocations
0699340 to
1c3bd83
Compare
|
Superseded by OTel PR stack |
Summary of changes
Reason for change
Implementation details
Test coverage
Other details