Skip to content

Skip sending unactionable performance counters log to telemetry#7753

Merged
andrewlock merged 1 commit intomasterfrom
anderw/bugs/perf-counters
Nov 3, 2025
Merged

Skip sending unactionable performance counters log to telemetry#7753
andrewlock merged 1 commit intomasterfrom
anderw/bugs/perf-counters

Conversation

@andrewlock
Copy link
Member

Summary of changes

Skip sending unactionable log to telemetry

Reason for change

Perf counters could fail to initialize for a bunch of environment reasons, there's nothing we can do about it without a lot more info

Implementation details

Just skip telemetry for the log

Test coverage

Meh

Other details

Seen in telemetry

@andrewlock andrewlock requested a review from a team as a code owner November 3, 2025 14:07
@github-actions github-actions bot added the area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) label Nov 3, 2025
@andrewlock andrewlock enabled auto-merge (squash) November 3, 2025 14:52
@pr-commenter
Copy link

pr-commenter bot commented Nov 3, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7753 compared to master:

  • 2 benchmarks are faster, with geometric mean 2.550
  • 1 benchmarks are slower, with geometric mean 2.464
  • 8 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 ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7753

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.1 KB 6.05 KB -48 B -0.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.4μs 58.6ns 397ns 0 0 0 5.53 KB
master StartStopWithChild netcoreapp3.1 14.4μs 65.8ns 255ns 0 0 0 5.7 KB
master StartStopWithChild net472 22μs 55.5ns 200ns 0.888 0.222 0 6.1 KB
#7753 StartStopWithChild net6.0 10.3μs 58.3ns 400ns 0 0 0 5.52 KB
#7753 StartStopWithChild netcoreapp3.1 14.2μs 74ns 370ns 0 0 0 5.68 KB
#7753 StartStopWithChild net472 21.4μs 122ns 860ns 0.867 0.108 0 6.05 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7753

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 3.35 KB 3.31 KB -46 B -1.37%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 947μs 302ns 1.17μs 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 61.3ns 212ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.2ms 238ns 890ns 0 0 0 3.35 KB
#7753 WriteAndFlushEnrichedTraces net6.0 945μs 307ns 1.19μs 0 0 0 2.71 KB
#7753 WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 294ns 1.14μs 0 0 0 2.7 KB
#7753 WriteAndFlushEnrichedTraces net472 1.2ms 58.6ns 227ns 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 1.08μs 5.97ns 38.2ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.43μs 6.95ns 28.6ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.07μs 0.276ns 1.03ns 0.192 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.15μs 35.3ns 162ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 8.97μs 2.02ns 7.3ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.69μs 3.92ns 15.2ns 0.73 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 316ns 1.76ns 11.4ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 399ns 1.42ns 5.51ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 297ns 0.0403ns 0.151ns 0.0433 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.24μs 27.9ns 108ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.88μs 27.1ns 105ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.63μs 1.48ns 5.75ns 0.597 0 0 3.8 KB
#7753 AllCycleSimpleBody net6.0 1.09μs 1.05ns 4.07ns 0 0 0 1.22 KB
#7753 AllCycleSimpleBody netcoreapp3.1 1.39μs 7.86ns 56.2ns 0 0 0 1.2 KB
#7753 AllCycleSimpleBody net472 1.03μs 0.932ns 3.61ns 0.191 0 0 1.23 KB
#7753 AllCycleMoreComplexBody net6.0 7.04μs 33.4ns 130ns 0 0 0 4.72 KB
#7753 AllCycleMoreComplexBody netcoreapp3.1 8.98μs 44.4ns 199ns 0 0 0 4.62 KB
#7753 AllCycleMoreComplexBody net472 7.67μs 8.61ns 33.3ns 0.729 0 0 4.74 KB
#7753 ObjectExtractorSimpleBody net6.0 319ns 0.142ns 0.551ns 0 0 0 280 B
#7753 ObjectExtractorSimpleBody netcoreapp3.1 400ns 2.25ns 14.1ns 0 0 0 272 B
#7753 ObjectExtractorSimpleBody net472 301ns 0.016ns 0.0618ns 0.0439 0 0 281 B
#7753 ObjectExtractorMoreComplexBody net6.0 6.25μs 33.2ns 169ns 0 0 0 3.78 KB
#7753 ObjectExtractorMoreComplexBody netcoreapp3.1 7.84μs 34.6ns 134ns 0 0 0 3.69 KB
#7753 ObjectExtractorMoreComplexBody net472 6.73μs 2.27ns 8.78ns 0.572 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 77.1μs 39.9ns 149ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 98μs 295ns 1.14μs 0 0 0 32.4 KB
master EncodeArgs net472 112μs 24.3ns 94ns 5.07 0 0 32.51 KB
master EncodeLegacyArgs net6.0 142μs 63.9ns 248ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 199μs 593ns 2.3μs 0 0 0 2.14 KB
master EncodeLegacyArgs net472 263μs 60.8ns 235ns 0 0 0 2.16 KB
#7753 EncodeArgs net6.0 76.5μs 139ns 540ns 0 0 0 32.4 KB
#7753 EncodeArgs netcoreapp3.1 97.7μs 139ns 540ns 0 0 0 32.4 KB
#7753 EncodeArgs net472 109μs 39.8ns 154ns 4.91 0 0 32.51 KB
#7753 EncodeLegacyArgs net6.0 143μs 9.62ns 37.3ns 0 0 0 2.15 KB
#7753 EncodeLegacyArgs netcoreapp3.1 198μs 192ns 744ns 0 0 0 2.14 KB
#7753 EncodeLegacyArgs net472 263μs 202ns 784ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7753

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 2.464 296,834.23 731,252.40

Faster 🎉 in #7753

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.069 850,268.54 411,051.94

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 390μs 68.5ns 247ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 847μs 3.96μs 15.3μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 428μs 66.1ns 256ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 290μs 168ns 652ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 297μs 139ns 501ns 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 308μs 43.4ns 168ns 0 0 0 2.29 KB
#7753 RunWafRealisticBenchmark net6.0 394μs 94.8ns 355ns 0 0 0 4.55 KB
#7753 RunWafRealisticBenchmark netcoreapp3.1 411μs 98.8ns 342ns 0 0 0 4.48 KB
#7753 RunWafRealisticBenchmark net472 428μs 365ns 1.26μs 0 0 0 4.66 KB
#7753 RunWafRealisticBenchmarkWithAttack net6.0 285μs 34.5ns 129ns 0 0 0 2.24 KB
#7753 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 685μs 13μs 130μs 0 0 0 2.22 KB
#7753 RunWafRealisticBenchmarkWithAttack net472 308μs 41.7ns 161ns 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.8μs 40.7ns 147ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 72.5μs 133ns 461ns 0 0 0 17.42 KB
master SendRequest net472 0.00254ns 0.00127ns 0.00492ns 0 0 0 0 b
#7753 SendRequest net6.0 60.9μs 58.5ns 227ns 0 0 0 14.52 KB
#7753 SendRequest netcoreapp3.1 71.6μs 52.2ns 181ns 0 0 0 17.42 KB
#7753 SendRequest net472 0.0075ns 0.00234ns 0.00905ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7753

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 4 B 5 B 1 B 25.00%

Fewer allocations 🎉 in #7753

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 73 B 0 b -73 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.89ms 6.5μs 25.2μs 0 0 0 640 KB
master OriginalCharSlice netcoreapp3.1 2.15ms 8.71μs 33.7μs 0 0 0 640 KB
master OriginalCharSlice net472 2.64ms 145ns 541ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.45ms 93.1ns 348ns 0 0 0 7 B
master OptimizedCharSlice netcoreapp3.1 1.8ms 238ns 921ns 0 0 0 1 B
master OptimizedCharSlice net472 1.95ms 459ns 1.78μs 0 0 0 73 B
master OptimizedCharSliceWithPool net6.0 851μs 77ns 298ns 0 0 0 4 B
master OptimizedCharSliceWithPool netcoreapp3.1 798μs 85.8ns 332ns 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.14ms 106ns 409ns 0 0 0 47 B
#7753 OriginalCharSlice net6.0 1.95ms 447ns 1.73μs 0 0 0 640.01 KB
#7753 OriginalCharSlice netcoreapp3.1 2.1ms 6.46μs 25μs 0 0 0 640 KB
#7753 OriginalCharSlice net472 2.64ms 94.8ns 355ns 100 0 0 641.95 KB
#7753 OptimizedCharSlice net6.0 1.5ms 334ns 1.29μs 0 0 0 7 B
#7753 OptimizedCharSlice netcoreapp3.1 1.84ms 222ns 862ns 0 0 0 1 B
#7753 OptimizedCharSlice net472 1.91ms 204ns 789ns 0 0 0 0 b
#7753 OptimizedCharSliceWithPool net6.0 859μs 28.4ns 110ns 0 0 0 5 B
#7753 OptimizedCharSliceWithPool netcoreapp3.1 808μs 41.7ns 161ns 0 0 0 0 b
#7753 OptimizedCharSliceWithPool net472 1.15ms 81.5ns 316ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7753

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 55.95 KB 56.25 KB 307 B 0.55%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 671μs 1.99μs 7.69μs 0 0 0 41.74 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 735μs 942ns 3.4μs 0 0 0 42.01 KB
master WriteAndFlushEnrichedTraces net472 898μs 4.33μs 16.8μs 8.33 0 0 55.95 KB
#7753 WriteAndFlushEnrichedTraces net6.0 669μs 3.77μs 27.7μs 0 0 0 41.88 KB
#7753 WriteAndFlushEnrichedTraces netcoreapp3.1 739μs 4.19μs 30.8μs 0 0 0 42.13 KB
#7753 WriteAndFlushEnrichedTraces net472 896μs 3.24μs 12.5μs 8.33 0 0 56.25 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.92μs 9.95ns 45.6ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.62μs 12.5ns 48.3ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.9μs 5.92ns 22.9ns 0.146 0.0146 0 987 B
#7753 ExecuteNonQuery net6.0 2μs 8.23ns 31.9ns 0 0 0 1.02 KB
#7753 ExecuteNonQuery netcoreapp3.1 2.65μs 8.22ns 31.8ns 0 0 0 1.02 KB
#7753 ExecuteNonQuery net472 2.9μs 3.15ns 12.2ns 0.143 0.0143 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.66μs 8.56ns 40.2ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.21μs 8.77ns 34ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.58μs 2.11ns 7.9ns 0.161 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.84μs 7.13ns 27.6ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.39μs 11.7ns 48.4ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.66μs 3.58ns 12.9ns 0.165 0 0 1.1 KB
#7753 CallElasticsearch net6.0 1.74μs 9.09ns 46.3ns 0 0 0 1.03 KB
#7753 CallElasticsearch netcoreapp3.1 2.23μs 9.06ns 35.1ns 0 0 0 1.03 KB
#7753 CallElasticsearch net472 3.62μs 2.09ns 7.81ns 0.162 0 0 1.04 KB
#7753 CallElasticsearchAsync net6.0 1.91μs 0.607ns 2.35ns 0 0 0 1.01 KB
#7753 CallElasticsearchAsync netcoreapp3.1 2.39μs 9.79ns 36.6ns 0 0 0 1.08 KB
#7753 CallElasticsearchAsync net472 3.7μs 1.82ns 7.04ns 0.166 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.88μs 8.7ns 34.8ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.45μs 8.02ns 31.1ns 0 0 0 952 B
master ExecuteAsync net472 2.57μs 4.84ns 18.7ns 0.14 0 0 915 B
#7753 ExecuteAsync net6.0 1.94μs 8.87ns 33.2ns 0 0 0 952 B
#7753 ExecuteAsync netcoreapp3.1 2.48μs 1.96ns 7.61ns 0 0 0 952 B
#7753 ExecuteAsync net472 2.59μs 1.42ns 5.12ns 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 7.12μs 26.2ns 97.9ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.49μs 7.15ns 27.7ns 0 0 0 2.9 KB
master SendAsync net472 12.6μs 16.7ns 64.7ns 0.505 0 0 3.18 KB
#7753 SendAsync net6.0 6.93μs 12.9ns 49.9ns 0 0 0 2.36 KB
#7753 SendAsync netcoreapp3.1 8.78μs 18.4ns 71.3ns 0 0 0 2.9 KB
#7753 SendAsync net472 12.4μs 9.25ns 35.8ns 0.495 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Faster 🎉 More allocations ⚠️

Faster 🎉 in #7753

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 3.144 1,399,850.00 445,200.00

More allocations ⚠️ in #7753

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 43.15 KB 45.13 KB 1.98 KB 4.58%

Fewer allocations 🎉 in #7753

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 286.74 KB 277.96 KB -8.78 KB -3.06%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 46.48 KB 43.44 KB -3.04 KB -6.54%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 65.54 KB 57.34 KB -8.19 KB -12.50%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 338.03 KB 272.62 KB -65.42 KB -19.35%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 46.1μs 262ns 2μs 0 0 0 46.48 KB
master StringConcatBenchmark netcoreapp3.1 57.5μs 921ns 9.16μs 0 0 0 43.15 KB
master StringConcatBenchmark net472 56.7μs 248ns 961ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 472μs 2.36μs 10.6μs 0 0 0 286.74 KB
master StringConcatAspectBenchmark netcoreapp3.1 1.4ms 2.45μs 9.49μs 0 0 0 338.03 KB
master StringConcatAspectBenchmark net472 409μs 2.28μs 13.9μs 0 0 0 278.05 KB
#7753 StringConcatBenchmark net6.0 51μs 696ns 6.82μs 0 0 0 43.44 KB
#7753 StringConcatBenchmark netcoreapp3.1 50.7μs 291ns 2.18μs 0 0 0 45.13 KB
#7753 StringConcatBenchmark net472 57.2μs 198ns 740ns 0 0 0 57.34 KB
#7753 StringConcatAspectBenchmark net6.0 472μs 2.11μs 7.61μs 0 0 0 277.96 KB
#7753 StringConcatAspectBenchmark netcoreapp3.1 471μs 6.07μs 59.8μs 0 0 0 272.62 KB
#7753 StringConcatAspectBenchmark net472 399μs 2.2μs 15.7μ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.6μs 0.902ns 3.49ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.66μs 17.7ns 77.3ns 0 0 0 1.7 KB
master EnrichedLog net472 4μs 4.97ns 19.3ns 0.259 0 0 1.64 KB
#7753 EnrichedLog net6.0 2.6μs 12.1ns 48.4ns 0 0 0 1.7 KB
#7753 EnrichedLog netcoreapp3.1 3.72μs 10.9ns 42.4ns 0 0 0 1.7 KB
#7753 EnrichedLog net472 4.02μs 3.84ns 14.9ns 0.241 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 122μs 87.6ns 339ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 126μs 109ns 393ns 0 0 0 4.31 KB
master EnrichedLog net472 169μs 149ns 578ns 0 0 0 4.52 KB
#7753 EnrichedLog net6.0 124μs 135ns 466ns 0 0 0 4.31 KB
#7753 EnrichedLog netcoreapp3.1 129μs 214ns 800ns 0 0 0 4.31 KB
#7753 EnrichedLog net472 168μs 249ns 963ns 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 5.06μs 2.03ns 7.85ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.78μs 13.1ns 50.9ns 0 0 0 2.26 KB
master EnrichedLog net472 7.54μs 9.05ns 35.1ns 0.3 0 0 2.08 KB
#7753 EnrichedLog net6.0 5.01μs 22.7ns 90.7ns 0 0 0 2.26 KB
#7753 EnrichedLog netcoreapp3.1 7.06μs 11ns 42.6ns 0 0 0 2.26 KB
#7753 EnrichedLog net472 7.52μs 6.42ns 24.8ns 0.299 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.11μs 2.19ns 8.48ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.59μs 12.5ns 54.4ns 0 0 0 1.2 KB
master SendReceive net472 3.05μs 3.87ns 14.5ns 0.184 0 0 1.2 KB
#7753 SendReceive net6.0 2.06μs 9.42ns 35.2ns 0 0 0 1.2 KB
#7753 SendReceive netcoreapp3.1 2.65μs 11.2ns 43.3ns 0 0 0 1.2 KB
#7753 SendReceive net472 3.15μs 1.45ns 5.43ns 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.37μs 10.3ns 40ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.89μs 16.4ns 63.4ns 0 0 0 1.63 KB
master EnrichedLog net472 6.7μs 7.75ns 30ns 0.301 0 0 2.03 KB
#7753 EnrichedLog net6.0 4.36μs 0.798ns 2.77ns 0 0 0 1.58 KB
#7753 EnrichedLog netcoreapp3.1 5.7μs 10.1ns 39.2ns 0 0 0 1.63 KB
#7753 EnrichedLog net472 6.48μs 10.7ns 41.3ns 0.32 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 778ns 3.63ns 14.5ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 953ns 5.08ns 27.8ns 0 0 0 576 B
master StartFinishSpan net472 926ns 0.447ns 1.73ns 0.0878 0 0 578 B
master StartFinishScope net6.0 916ns 4.88ns 23.4ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.25μs 5.97ns 23.1ns 0 0 0 696 B
master StartFinishScope net472 1.11μs 0.851ns 3.29ns 0.0997 0 0 658 B
#7753 StartFinishSpan net6.0 778ns 0.316ns 1.14ns 0 0 0 576 B
#7753 StartFinishSpan netcoreapp3.1 954ns 5.19ns 27ns 0 0 0 576 B
#7753 StartFinishSpan net472 928ns 0.544ns 2.03ns 0.0885 0 0 578 B
#7753 StartFinishScope net6.0 961ns 0.36ns 1.39ns 0 0 0 696 B
#7753 StartFinishScope netcoreapp3.1 1.21μs 1.54ns 5.78ns 0 0 0 696 B
#7753 StartFinishScope net472 1.12μs 0.602ns 2.33ns 0.1 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 0.281ns 1.05ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.43μs 7.02ns 28.1ns 0 0 0 696 B
master RunOnMethodBegin net472 1.49μs 0.588ns 2.2ns 0.104 0 0 658 B
#7753 RunOnMethodBegin net6.0 1.06μs 5.61ns 28.6ns 0 0 0 696 B
#7753 RunOnMethodBegin netcoreapp3.1 1.49μs 5.55ns 21.5ns 0 0 0 696 B
#7753 RunOnMethodBegin net472 1.45μs 0.907ns 3.51ns 0.101 0 0 658 B

@andrewlock andrewlock merged commit b4b477f into master Nov 3, 2025
153 of 154 checks passed
@andrewlock andrewlock deleted the anderw/bugs/perf-counters branch November 3, 2025 15:24
@github-actions github-actions bot added this to the vNext-v3 milestone Nov 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:runtime-metrics area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) identified-by:telemetry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants