Skip to content

Conversation

@chojomok
Copy link
Collaborator

@chojomok chojomok commented Oct 21, 2025

Summary of changes

Initially thought it was not possible to generate spans for .NET Framework for Quartz spans as the QuartzDiagnosticObserver needed to implement the DiagnosticObserver class.
Learned that the infrastructure for .NET Framework for the DiagnosticObserver is already setup so the traces should be generated.

Reason for change

To broaden support for Tracing Integrations that use the DiagnosticObserver class.

Implementation details

Nothing new needed. Just needed to create a snapshot for the test.

Test coverage

Other details

@chojomok chojomok requested review from a team as code owners October 21, 2025 15:57
@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Oct 21, 2025

⚠️ Tests

⚠️ Warnings

🧪 4 Tests failed

AssemblyReferencesHaveNotChanged from Datadog.Trace.Tests.PublicApiTests.DatadogTraceTests (Datadog)
String has differences from expected value because Assembly references should match the verified list of assembly references. Update the verified snapshot when the assembly references change. Diff:
- 9:System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
AssemblyReferencesHaveNotChanged from Datadog.Trace.Tests.PublicApiTests.DatadogTraceTests (Datadog)
String has differences from expected value because Assembly references should match the verified list of assembly references. Update the verified snapshot when the assembly references change. Diff:
- 9:System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
AssemblyReferencesHaveNotChanged from Datadog.Trace.Tests.PublicApiTests.DatadogTraceTests (Datadog)
String has differences from expected value because Assembly references should match the verified list of assembly references. Update the verified snapshot when the assembly references change. Diff:
- 9:System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
AssemblyReferencesHaveNotChanged from Datadog.Trace.Tests.PublicApiTests.DatadogTraceTests (Datadog)

- 9:System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51sembly references. Update the verified snapshot when the assembly references change. Diff:
View all

ℹ️ Info

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: a815edd | Docs | Was this helpful? Give us feedback!

@chojomok chojomok changed the title mohammad/diagnosticobserver netframework support [tracing] add support for Quartz integration for framework Oct 21, 2025
@chojomok chojomok marked this pull request as draft October 21, 2025 16:00
@dd-trace-dotnet-ci-bot
Copy link

dd-trace-dotnet-ci-bot bot commented Oct 21, 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 (7687) - mean (83ms)  : 79, 87
     .   : milestone, 83,
    master - mean (81ms)  : 76, 85
     .   : milestone, 81,

    section Baseline
    This PR (7687) - mean (78ms)  : 74, 82
     .   : milestone, 78,
    master - mean (76ms)  : 71, 82
     .   : milestone, 76,

    section CallTarget+Inlining+NGEN
    This PR (7687) - mean (1,144ms)  : 1064, 1223
     .   : milestone, 1144,
    master - mean (1,117ms)  : 1043, 1192
     .   : milestone, 1117,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7687) - mean (123ms)  : 118, 128
     .   : milestone, 123,
    master - mean (120ms)  : 115, 125
     .   : milestone, 120,

    section Baseline
    This PR (7687) - mean (122ms)  : 116, 128
     .   : milestone, 122,
    master - mean (119ms)  : 113, 125
     .   : milestone, 119,

    section CallTarget+Inlining+NGEN
    This PR (7687) - mean (840ms)  : 810, 870
     .   : milestone, 840,
    master - mean (813ms)  : 775, 850
     .   : milestone, 813,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7687) - mean (107ms)  : 104, 111
     .   : milestone, 107,
    master - mean (106ms)  : 101, 111
     .   : milestone, 106,

    section Baseline
    This PR (7687) - mean (106ms)  : 101, 111
     .   : milestone, 106,
    master - mean (105ms)  : 100, 110
     .   : milestone, 105,

    section CallTarget+Inlining+NGEN
    This PR (7687) - mean (775ms)  : 757, 794
     .   : milestone, 775,
    master - mean (757ms)  : 724, 789
     .   : milestone, 757,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7687) - mean (107ms)  : 101, 112
     .   : milestone, 107,
    master - mean (105ms)  : 100, 110
     .   : milestone, 105,

    section Baseline
    This PR (7687) - mean (105ms)  : 100, 111
     .   : milestone, 105,
    master - mean (104ms)  : 99, 109
     .   : milestone, 104,

    section CallTarget+Inlining+NGEN
    This PR (7687) - mean (714ms)  : 692, 736
     .   : milestone, 714,
    master - mean (725ms)  : 698, 752
     .   : milestone, 725,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7687) - mean (196ms)  : 193, 198
     .   : milestone, 196,
    master - mean (196ms)  : 192, 200
     .   : milestone, 196,

    section Baseline
    This PR (7687) - mean (193ms)  : 189, 197
     .   : milestone, 193,
    master - mean (193ms)  : 189, 196
     .   : milestone, 193,

    section CallTarget+Inlining+NGEN
    This PR (7687) - mean (1,170ms)  : 1103, 1237
     .   : milestone, 1170,
    master - mean (1,165ms)  : 1100, 1229
     .   : milestone, 1165,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7687) - mean (277ms)  : 271, 284
     .   : milestone, 277,
    master - mean (276ms)  : 272, 280
     .   : milestone, 276,

    section Baseline
    This PR (7687) - mean (275ms)  : 271, 280
     .   : milestone, 275,
    master - mean (276ms)  : 269, 282
     .   : milestone, 276,

    section CallTarget+Inlining+NGEN
    This PR (7687) - mean (950ms)  : 928, 973
     .   : milestone, 950,
    master - mean (943ms)  : 898, 988
     .   : milestone, 943,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7687) - mean (269ms)  : 264, 273
     .   : milestone, 269,
    master - mean (267ms)  : 263, 272
     .   : milestone, 267,

    section Baseline
    This PR (7687) - mean (269ms)  : 264, 274
     .   : milestone, 269,
    master - mean (268ms)  : 263, 273
     .   : milestone, 268,

    section CallTarget+Inlining+NGEN
    This PR (7687) - mean (925ms)  : 907, 944
     .   : milestone, 925,
    master - mean (932ms)  : 875, 988
     .   : milestone, 932,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7687) - mean (268ms)  : 264, 271
     .   : milestone, 268,
    master - mean (267ms)  : 263, 270
     .   : milestone, 267,

    section Baseline
    This PR (7687) - mean (267ms)  : 263, 271
     .   : milestone, 267,
    master - mean (266ms)  : 263, 270
     .   : milestone, 266,

    section CallTarget+Inlining+NGEN
    This PR (7687) - mean (837ms)  : 815, 860
     .   : milestone, 837,
    master - mean (852ms)  : 835, 869
     .   : milestone, 852,

Loading

@pr-commenter
Copy link

pr-commenter bot commented Oct 21, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7687 compared to master:

  • 3 benchmarks are faster, with geometric mean 1.381
  • 6 benchmarks have fewer allocations
  • 3 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 #7687

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.04 KB 6.1 KB 60 B 0.99%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.7μs 54.5ns 250ns 0 0 0 5.52 KB
master StartStopWithChild netcoreapp3.1 13.2μs 69.2ns 346ns 0 0 0 5.73 KB
master StartStopWithChild net472 21.7μs 115ns 631ns 0.966 0.322 0.107 6.04 KB
#7687 StartStopWithChild net6.0 10.9μs 55.8ns 268ns 0 0 0 5.52 KB
#7687 StartStopWithChild netcoreapp3.1 13.6μs 68.2ns 297ns 0 0 0 5.7 KB
#7687 StartStopWithChild net472 21.8μs 122ns 818ns 0.903 0.338 0 6.1 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 931μs 196ns 758ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 198ns 768ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.18ms 90.8ns 340ns 0 0 0 3.31 KB
#7687 WriteAndFlushEnrichedTraces net6.0 927μs 67.3ns 233ns 0 0 0 2.71 KB
#7687 WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 201ns 779ns 0 0 0 2.7 KB
#7687 WriteAndFlushEnrichedTraces net472 1.19ms 106ns 411ns 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 323ns 1.59ns 6.54ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 393ns 2.2ns 13.4ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 299ns 0.0277ns 0.107ns 0.0446 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.25μs 32ns 150ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.77μs 37ns 143ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.69μs 0.952ns 3.43ns 0.601 0 0 3.8 KB
#7687 AllCycleSimpleBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7687 AllCycleSimpleBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#7687 AllCycleSimpleBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7687 AllCycleMoreComplexBody net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7687 AllCycleMoreComplexBody netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#7687 AllCycleMoreComplexBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7687 ObjectExtractorSimpleBody net6.0 326ns 1.69ns 7.56ns 0 0 0 280 B
#7687 ObjectExtractorSimpleBody netcoreapp3.1 385ns 2.21ns 15.9ns 0 0 0 272 B
#7687 ObjectExtractorSimpleBody net472 299ns 0.0709ns 0.265ns 0.0441 0 0 281 B
#7687 ObjectExtractorMoreComplexBody net6.0 6.26μs 33.7ns 179ns 0 0 0 3.78 KB
#7687 ObjectExtractorMoreComplexBody netcoreapp3.1 7.76μs 33ns 128ns 0 0 0 3.69 KB
#7687 ObjectExtractorMoreComplexBody net472 6.72μs 3.84ns 14.4ns 0.603 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 75.8μs 218ns 817ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 98.5μs 309ns 1.2μs 0 0 0 32.4 KB
master EncodeArgs net472 111μs 10.2ns 39.4ns 5.02 0 0 32.5 KB
master EncodeLegacyArgs net6.0 145μs 31.9ns 111ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 196μs 193ns 721ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 264μs 44.3ns 172ns 0 0 0 2.17 KB
#7687 EncodeArgs net6.0 77.9μs 31.4ns 118ns 0 0 0 32.4 KB
#7687 EncodeArgs netcoreapp3.1 97.3μs 232ns 868ns 0 0 0 32.4 KB
#7687 EncodeArgs net472 109μs 12.2ns 45.5ns 4.91 0 0 32.51 KB
#7687 EncodeLegacyArgs net6.0 144μs 14.9ns 53.6ns 0 0 0 2.15 KB
#7687 EncodeLegacyArgs netcoreapp3.1 198μs 146ns 506ns 0 0 0 2.15 KB
#7687 EncodeLegacyArgs net472 265μs 13.5ns 50.5ns 0 0 0 2.17 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #7687

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.076 856,577.71 412,653.12

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 391μs 51.2ns 198ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 802μs 13.8μs 136μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 426μs 71.1ns 275ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 286μs 54ns 209ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 669μs 13.2μs 132μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 311μs 21.1ns 73.2ns 0 0 0 2.29 KB
#7687 RunWafRealisticBenchmark net6.0 396μs 88.2ns 341ns 0 0 0 4.55 KB
#7687 RunWafRealisticBenchmark netcoreapp3.1 413μs 228ns 854ns 0 0 0 4.48 KB
#7687 RunWafRealisticBenchmark net472 437μs 43ns 161ns 0 0 0 4.66 KB
#7687 RunWafRealisticBenchmarkWithAttack net6.0 286μs 45.1ns 169ns 0 0 0 2.24 KB
#7687 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 710μs 6.73μs 67.3μs 0 0 0 2.22 KB
#7687 RunWafRealisticBenchmarkWithAttack net472 309μs 30.5ns 118ns 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 60.5μs 58.3ns 202ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.8μs 99.4ns 372ns 0 0 0 17.42 KB
master SendRequest net472 0.00126ns 0.000703ns 0.00263ns 0 0 0 0 b
#7687 SendRequest net6.0 60.1μs 62.3ns 241ns 0 0 0 14.52 KB
#7687 SendRequest netcoreapp3.1 71.6μs 81.6ns 316ns 0 0 0 17.42 KB
#7687 SendRequest net472 0.000505ns 0.000342ns 0.00123ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Faster 🎉 Fewer allocations 🎉

Faster 🎉 in #7687

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 1.121 1,271,314.45 1,134,469.89

Fewer allocations 🎉 in #7687

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 73 B 0 b -73 B -100.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 1 B 0 b -1 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.92ms 6.16μs 22.2μs 0 0 0 640 KB
master OriginalCharSlice netcoreapp3.1 2.11ms 719ns 2.59μs 0 0 0 640 KB
master OriginalCharSlice net472 2.64ms 383ns 1.43μs 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.45ms 120ns 465ns 0 0 0 6 B
master OptimizedCharSlice netcoreapp3.1 1.72ms 294ns 1.14μs 0 0 0 1 B
master OptimizedCharSlice net472 1.96ms 456ns 1.77μs 0 0 0 73 B
master OptimizedCharSliceWithPool net6.0 809μs 43.9ns 170ns 0 0 0 3 B
master OptimizedCharSliceWithPool netcoreapp3.1 866μs 80.2ns 311ns 0 0 0 1 B
master OptimizedCharSliceWithPool net472 1.27ms 97.5ns 378ns 0 0 0 47 B
#7687 OriginalCharSlice net6.0 1.93ms 139ns 539ns 0 0 0 640.01 KB
#7687 OriginalCharSlice netcoreapp3.1 2.11ms 8.11μs 31.4μs 0 0 0 640 KB
#7687 OriginalCharSlice net472 2.61ms 155ns 581ns 100 0 0 641.95 KB
#7687 OptimizedCharSlice net6.0 1.42ms 250ns 970ns 0 0 0 6 B
#7687 OptimizedCharSlice netcoreapp3.1 1.71ms 545ns 2.11μs 0 0 0 1 B
#7687 OptimizedCharSlice net472 1.91ms 184ns 714ns 0 0 0 0 b
#7687 OptimizedCharSliceWithPool net6.0 835μs 30.9ns 120ns 0 0 0 3 B
#7687 OptimizedCharSliceWithPool netcoreapp3.1 868μs 137ns 530ns 0 0 0 0 b
#7687 OptimizedCharSliceWithPool net472 1.13ms 66.3ns 248ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #7687

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.132 984,049.52 869,178.96

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 694μs 3.68μs 19.8μs 0 0 0 41.66 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 796μs 4.32μs 25.2μs 0 0 0 41.77 KB
master WriteAndFlushEnrichedTraces net472 988μs 5.59μs 37.1μs 4.81 0 0 56.05 KB
#7687 WriteAndFlushEnrichedTraces net6.0 706μs 631ns 2.44μs 0 0 0 41.72 KB
#7687 WriteAndFlushEnrichedTraces netcoreapp3.1 772μs 1.16μs 4.5μs 0 0 0 41.82 KB
#7687 WriteAndFlushEnrichedTraces net472 868μs 1.19μs 4.11μs 8.33 0 0 55.98 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 2.54ns 9.82ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.67μs 12.5ns 48.5ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.88μs 2.14ns 8.28ns 0.156 0.0142 0 987 B
#7687 ExecuteNonQuery net6.0 1.91μs 9.18ns 36.7ns 0 0 0 1.02 KB
#7687 ExecuteNonQuery netcoreapp3.1 2.53μs 10.6ns 41ns 0 0 0 1.02 KB
#7687 ExecuteNonQuery net472 2.79μs 6.16ns 22.2ns 0.154 0.014 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.72μs 8.21ns 33.8ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.25μs 10.8ns 47ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.67μs 7.08ns 27.4ns 0.165 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.85μs 8.14ns 31.5ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.51μs 11.2ns 43.3ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.68μs 1.95ns 7.57ns 0.166 0 0 1.1 KB
#7687 CallElasticsearch net6.0 1.71μs 0.682ns 2.55ns 0 0 0 1.03 KB
#7687 CallElasticsearch netcoreapp3.1 2.18μs 11.5ns 41.6ns 0 0 0 1.03 KB
#7687 CallElasticsearch net472 3.6μs 3.6ns 14ns 0.161 0 0 1.04 KB
#7687 CallElasticsearchAsync net6.0 1.72μs 9.17ns 44.9ns 0 0 0 1.01 KB
#7687 CallElasticsearchAsync netcoreapp3.1 2.38μs 9.76ns 36.5ns 0 0 0 1.08 KB
#7687 CallElasticsearchAsync net472 3.77μs 4.32ns 16.7ns 0.17 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.86μs 1.15ns 4.14ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.55μs 3.97ns 15.4ns 0 0 0 952 B
master ExecuteAsync net472 2.64μs 3.4ns 13.2ns 0.145 0 0 915 B
#7687 ExecuteAsync net6.0 1.88μs 2.3ns 8.29ns 0 0 0 952 B
#7687 ExecuteAsync netcoreapp3.1 2.47μs 7.27ns 28.2ns 0 0 0 952 B
#7687 ExecuteAsync net472 2.65μs 5.6ns 21.7ns 0.144 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.99μs 10.3ns 39.7ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.63μs 27.6ns 107ns 0 0 0 2.9 KB
master SendAsync net472 12.1μs 13.8ns 53.6ns 0.484 0 0 3.18 KB
#7687 SendAsync net6.0 7.12μs 18.2ns 70.4ns 0 0 0 2.36 KB
#7687 SendAsync netcoreapp3.1 8.62μs 39.8ns 159ns 0 0 0 2.9 KB
#7687 SendAsync net472 12.7μs 7.15ns 26.7ns 0.443 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7687

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 43.22 KB 44.04 KB 824 B 1.91%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 274.46 KB 277.98 KB 3.52 KB 1.28%

Fewer allocations 🎉 in #7687

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 44.42 KB 44.09 KB -328 B -0.74%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 279.38 KB 273.48 KB -5.9 KB -2.11%
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 44.2μs 244ns 1.38μs 0 0 0 44.42 KB
master StringConcatBenchmark netcoreapp3.1 48μs 264ns 1.59μs 0 0 0 43.22 KB
master StringConcatBenchmark net472 57.7μs 250ns 935ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 516μs 2.61μs 11.4μs 0 0 0 279.38 KB
master StringConcatAspectBenchmark netcoreapp3.1 524μs 2.28μs 7.9μs 0 0 0 274.46 KB
master StringConcatAspectBenchmark net472 405μs 1.94μs 13.6μs 0 0 0 278.53 KB
#7687 StringConcatBenchmark net6.0 51.3μs 780ns 7.8μs 0 0 0 44.09 KB
#7687 StringConcatBenchmark netcoreapp3.1 48.9μs 226ns 874ns 0 0 0 44.04 KB
#7687 StringConcatBenchmark net472 58.3μs 164ns 590ns 0 0 0 57.34 KB
#7687 StringConcatAspectBenchmark net6.0 463μs 1.28μs 4.42μs 0 0 0 273.48 KB
#7687 StringConcatAspectBenchmark netcoreapp3.1 556μs 2.25μs 9.28μs 0 0 0 277.98 KB
#7687 StringConcatAspectBenchmark net472 404μs 2.11μs 10.1μ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.66μs 3.23ns 12.5ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.64μs 3.74ns 14.5ns 0 0 0 1.7 KB
master EnrichedLog net472 3.83μs 3.73ns 14.5ns 0.251 0 0 1.64 KB
#7687 EnrichedLog net6.0 2.65μs 13.4ns 58.5ns 0 0 0 1.7 KB
#7687 EnrichedLog netcoreapp3.1 3.61μs 13.4ns 51.7ns 0 0 0 1.7 KB
#7687 EnrichedLog net472 4.02μs 2.98ns 11.5ns 0.258 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 123μs 85.3ns 295ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 128μs 101ns 366ns 0 0 0 4.31 KB
master EnrichedLog net472 167μs 46.8ns 181ns 0 0 0 4.51 KB
#7687 EnrichedLog net6.0 124μs 99.3ns 344ns 0 0 0 4.31 KB
#7687 EnrichedLog netcoreapp3.1 128μs 58.2ns 225ns 0 0 0 4.31 KB
#7687 EnrichedLog net472 168μs 193ns 747ns 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 4.91μs 3.54ns 12.8ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.75μs 4.74ns 17.1ns 0 0 0 2.26 KB
master EnrichedLog net472 7.64μs 5ns 19.4ns 0.304 0 0 2.08 KB
#7687 EnrichedLog net6.0 5.1μs 24.7ns 102ns 0 0 0 2.26 KB
#7687 EnrichedLog netcoreapp3.1 6.62μs 9.53ns 36.9ns 0 0 0 2.26 KB
#7687 EnrichedLog net472 7.68μs 7.87ns 30.5ns 0.305 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.03μs 9.96ns 42.3ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.73μs 10ns 38.9ns 0 0 0 1.2 KB
master SendReceive net472 3.05μs 3.47ns 13.5ns 0.182 0 0 1.2 KB
#7687 SendReceive net6.0 1.98μs 9.39ns 37.6ns 0 0 0 1.2 KB
#7687 SendReceive netcoreapp3.1 2.65μs 12.1ns 46.8ns 0 0 0 1.2 KB
#7687 SendReceive net472 3.07μs 0.883ns 3.18ns 0.183 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.35μs 5.72ns 22.1ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.52μs 13.9ns 54ns 0 0 0 1.63 KB
master EnrichedLog net472 6.52μs 11.1ns 42.9ns 0.293 0 0 2.03 KB
#7687 EnrichedLog net6.0 4.26μs 13.3ns 49.9ns 0 0 0 1.58 KB
#7687 EnrichedLog netcoreapp3.1 5.69μs 21.2ns 81.9ns 0 0 0 1.63 KB
#7687 EnrichedLog net472 6.62μs 6.43ns 24.9ns 0.297 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 760ns 3.58ns 13.9ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 979ns 0.249ns 0.862ns 0 0 0 576 B
master StartFinishSpan net472 950ns 0.0648ns 0.234ns 0.0907 0 0 578 B
master StartFinishScope net6.0 923ns 4.32ns 16.7ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.22μs 5.63ns 21.8ns 0 0 0 696 B
master StartFinishScope net472 1.15μs 1.13ns 4.36ns 0.103 0 0 658 B
#7687 StartFinishSpan net6.0 797ns 3.98ns 17.8ns 0 0 0 576 B
#7687 StartFinishSpan netcoreapp3.1 963ns 4.68ns 21.4ns 0 0 0 576 B
#7687 StartFinishSpan net472 945ns 1.17ns 4.54ns 0.0895 0 0 578 B
#7687 StartFinishScope net6.0 963ns 4.82ns 20.5ns 0 0 0 696 B
#7687 StartFinishScope netcoreapp3.1 1.2μs 5.72ns 22.2ns 0 0 0 696 B
#7687 StartFinishScope net472 1.14μs 0.195ns 0.702ns 0.103 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.05μs 5.01ns 20ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.39μs 7.19ns 33ns 0 0 0 696 B
master RunOnMethodBegin net472 1.48μs 0.718ns 2.59ns 0.103 0 0 658 B
#7687 RunOnMethodBegin net6.0 1.08μs 0.623ns 2.41ns 0 0 0 696 B
#7687 RunOnMethodBegin netcoreapp3.1 1.43μs 5.53ns 21.4ns 0 0 0 696 B
#7687 RunOnMethodBegin net472 1.5μs 0.662ns 2.48ns 0.0978 0 0 658 B

@github-actions
Copy link
Contributor

Snapshots difference summary

The following differences have been observed in committed snapshots. It is meant to help the reviewer.
The diff is simplistic, so please check some files anyway while we improve it.

1 occurrences of :

-    Name: internal,
-    Resource: Quartz.Job.Execute,
+    Name: quartz.job.execute,
+    Resource: execute exceptionJob,
[...]
+    Error: 1,
[...]
+      error.msg: Expected InvalidOperationException thrown,
+      error.stack:
[...]
+      error.type: Quartz.JobExecutionException,
[...]
-      job.group: group1,
-      job.name: helloJob,
-      job.type: QuartzSampleApp.Jobs.HelloJob,
+      job.group: group2,
+      job.name: exceptionJob,
+      job.type: QuartzSampleApp.Jobs.ExceptionJob,
[...]
-      otel.status_code: STATUS_CODE_UNSET,
+      otel.status_code: STATUS_CODE_ERROR,
[...]
-      trigger.group: group1,
-      trigger.name: helloTrigger,
+      trigger.group: group2,
+      trigger.name: exceptionTrigger,

1 occurrences of :

-    Name: internal,
-    Resource: Quartz.Job.Execute,
+    Name: quartz.job.execute,
+    Resource: execute helloJob,
[...]
-    Error: 1,
[...]
-      error.msg: Expected InvalidOperationException thrown,
-      error.stack:
[...]
-      error.type: Quartz.JobExecutionException,
[...]
-      job.group: group2,
-      job.name: exceptionJob,
-      job.type: QuartzSampleApp.Jobs.ExceptionJob,
+      job.group: group1,
+      job.name: helloJob,
+      job.type: QuartzSampleApp.Jobs.HelloJob,
[...]
-      otel.status_code: STATUS_CODE_ERROR,
+      otel.status_code: STATUS_CODE_UNSET,
[...]
-      trigger.group: group2,
-      trigger.name: exceptionTrigger,
+      trigger.group: group1,
+      trigger.name: helloTrigger,

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.

1 participant