Skip to content

fix bug where process tags were never initialized for telemetry#7954

Merged
vandonr merged 1 commit intomasterfrom
vandonr/explo
Dec 16, 2025
Merged

fix bug where process tags were never initialized for telemetry#7954
vandonr merged 1 commit intomasterfrom
vandonr/explo

Conversation

@vandonr
Copy link
Contributor

@vandonr vandonr commented Dec 16, 2025

Summary of changes

The wrong variable was checked for null, resulting in the process tags never being assigned

Reason for change

noticed this bug as I was trying to enable system tests for dotnet

Implementation details

Test coverage

Other details

@github-actions github-actions bot added the area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) label Dec 16, 2025
@datadog-datadog-prod-us1

This comment has been minimized.

@pr-commenter
Copy link

pr-commenter bot commented Dec 16, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7954 compared to master:

  • 3 benchmarks are slower, with geometric mean 1.404
  • 4 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.6μs 60.9ns 447ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 14μs 74.1ns 363ns 0 0 0 5.71 KB
master StartStopWithChild net472 22.2μs 115ns 540ns 0.944 0.21 0 5.99 KB
#7954 StartStopWithChild net6.0 10.7μs 59.9ns 383ns 0 0 0 5.5 KB
#7954 StartStopWithChild netcoreapp3.1 14μs 71.3ns 311ns 0 0 0 5.71 KB
#7954 StartStopWithChild net472 22.1μs 120ns 646ns 0.952 0.317 0 5.99 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7954

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 3.26 KB 3.33 KB 64 B 1.96%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 1.27ms 481ns 1.86μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.37ms 250ns 902ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.7ms 3.13μs 12.1μs 0 0 0 3.26 KB
#7954 WriteAndFlushEnrichedTraces net6.0 1.27ms 118ns 455ns 0 0 0 2.7 KB
#7954 WriteAndFlushEnrichedTraces netcoreapp3.1 1.37ms 646ns 2.24μs 0 0 0 2.7 KB
#7954 WriteAndFlushEnrichedTraces net472 1.71ms 336ns 1.21μs 0 0 0 3.33 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.11μs 0.365ns 1.41ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.37μs 7.82ns 58ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.01μs 0.974ns 3.77ns 0.192 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.51μs 39.2ns 204ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 9μs 43.8ns 191ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.62μs 2.48ns 8.95ns 0.724 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 353ns 1.98ns 12.5ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 392ns 2.13ns 12.2ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 308ns 0.00934ns 0.0324ns 0.0434 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.41μs 34.4ns 188ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.85μs 37.9ns 161ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.7μs 6.73ns 26.1ns 0.573 0 0 3.8 KB
#7954 AllCycleSimpleBody net6.0 1.11μs 6.16ns 39.4ns 0 0 0 1.22 KB
#7954 AllCycleSimpleBody netcoreapp3.1 1.41μs 0.801ns 2.89ns 0 0 0 1.2 KB
#7954 AllCycleSimpleBody net472 1.02μs 1.77ns 6.84ns 0.194 0 0 1.23 KB
#7954 AllCycleMoreComplexBody net6.0 7.42μs 37.5ns 176ns 0 0 0 4.72 KB
#7954 AllCycleMoreComplexBody netcoreapp3.1 9.06μs 46.5ns 213ns 0 0 0 4.62 KB
#7954 AllCycleMoreComplexBody net472 7.7μs 4.46ns 17.3ns 0.731 0 0 4.74 KB
#7954 ObjectExtractorSimpleBody net6.0 326ns 1.79ns 10.1ns 0 0 0 280 B
#7954 ObjectExtractorSimpleBody netcoreapp3.1 401ns 2.16ns 12ns 0 0 0 272 B
#7954 ObjectExtractorSimpleBody net472 300ns 0.0231ns 0.0833ns 0.0439 0 0 281 B
#7954 ObjectExtractorMoreComplexBody net6.0 6.39μs 32.3ns 144ns 0 0 0 3.78 KB
#7954 ObjectExtractorMoreComplexBody netcoreapp3.1 7.92μs 35.4ns 133ns 0 0 0 3.69 KB
#7954 ObjectExtractorMoreComplexBody net472 6.7μs 2.79ns 10.8ns 0.57 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.6μs 20.9ns 81.1ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97.6μs 275ns 1.03μs 0 0 0 32.4 KB
master EncodeArgs net472 108μs 12.3ns 47.5ns 4.88 0 0 32.5 KB
master EncodeLegacyArgs net6.0 144μs 326ns 1.26μs 0 0 0 2.14 KB
master EncodeLegacyArgs netcoreapp3.1 199μs 137ns 529ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 264μs 37.1ns 144ns 0 0 0 2.14 KB
#7954 EncodeArgs net6.0 76.4μs 257ns 960ns 0 0 0 32.4 KB
#7954 EncodeArgs netcoreapp3.1 98.4μs 295ns 1.14μs 0 0 0 32.4 KB
#7954 EncodeArgs net472 108μs 20.7ns 80.2ns 4.88 0 0 32.5 KB
#7954 EncodeLegacyArgs net6.0 145μs 7.7ns 28.8ns 0 0 0 2.14 KB
#7954 EncodeLegacyArgs netcoreapp3.1 199μs 203ns 787ns 0 0 0 2.14 KB
#7954 EncodeLegacyArgs net472 266μs 31.2ns 121ns 0 0 0 2.14 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 421μs 1.21μs 4.2μs 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 438μs 1.31μs 4.54μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 486μs 378ns 1.36μs 0 0 0 0 b
master RunWafRealisticBenchmarkWithAttack net6.0 302μs 871ns 3.14μs 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 340μs 3.31μs 31.4μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 363μs 195ns 704ns 0 0 0 0 b
#7954 RunWafRealisticBenchmark net6.0 428μs 1.1μs 3.98μs 0 0 0 4.55 KB
#7954 RunWafRealisticBenchmark netcoreapp3.1 454μs 2.63μs 23.3μs 0 0 0 4.48 KB
#7954 RunWafRealisticBenchmark net472 487μs 246ns 853ns 0 0 0 0 b
#7954 RunWafRealisticBenchmarkWithAttack net6.0 322μs 780ns 2.81μs 0 0 0 2.24 KB
#7954 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 368μs 3.97μs 38.7μs 0 0 0 2.22 KB
#7954 RunWafRealisticBenchmarkWithAttack net472 361μs 607ns 2.27μs 0 0 0 0 b
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 85μs 263ns 1.02μs 0 0 0 18.97 KB
master SendRequest netcoreapp3.1 96.8μs 502ns 2.97μs 0 0 0 21.18 KB
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#7954 SendRequest net6.0 85.1μs 75.9ns 284ns 0 0 0 18.97 KB
#7954 SendRequest netcoreapp3.1 97.5μs 399ns 1.55μs 0 0 0 21.18 KB
#7954 SendRequest net472 0.059ns 0.00516ns 0.02ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7954

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice‑netcoreapp3.1 1.811 2,163,000.00 3,917,600.00

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.9ms 767ns 2.87μs 0 0 0 640 KB
master OriginalCharSlice netcoreapp3.1 2.18ms 6.86μs 43.4μs 0 0 0 640 KB
master OriginalCharSlice net472 2.61ms 503ns 1.88μs 0 0 0 638.98 KB
master OptimizedCharSlice net6.0 1.41ms 514ns 1.92μs 0 0 0 0 b
master OptimizedCharSlice netcoreapp3.1 2.73ms 1.09μs 4.06μs 0 0 0 0 b
master OptimizedCharSlice net472 1.92ms 873ns 3.38μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 1.06ms 481ns 1.73μs 0 0 0 0 b
master OptimizedCharSliceWithPool netcoreapp3.1 1.96ms 1.82μs 6.83μs 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.14ms 823ns 3.19μs 0 0 0 0 b
#7954 OriginalCharSlice net6.0 1.92ms 476ns 1.71μs 0 0 0 640 KB
#7954 OriginalCharSlice netcoreapp3.1 3.92ms 1.4μs 5.05μs 0 0 0 640.05 KB
#7954 OriginalCharSlice net472 2.68ms 581ns 2.25μs 0 0 0 638.98 KB
#7954 OptimizedCharSlice net6.0 1.42ms 823ns 3.08μs 0 0 0 0 b
#7954 OptimizedCharSlice netcoreapp3.1 2.75ms 585ns 2.11μs 0 0 0 0 b
#7954 OptimizedCharSlice net472 1.94ms 388ns 1.4μs 0 0 0 0 b
#7954 OptimizedCharSliceWithPool net6.0 1.07ms 1.98μs 7.69μs 0 0 0 0 b
#7954 OptimizedCharSliceWithPool netcoreapp3.1 1.87ms 2.69μs 10.4μs 0 0 0 0 b
#7954 OptimizedCharSliceWithPool net472 1.16ms 961ns 3.72μs 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7954

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 1.311 630,365.79 826,237.29
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.167 675,984.38 788,693.54 several?

More allocations ⚠️ in #7954

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.92 KB 42.74 KB 820 B 1.96%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.67 KB 42.39 KB 716 B 1.72%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 630μs 1.19μs 4.63μs 0 0 0 41.67 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 685μs 3.98μs 33.5μs 0 0 0 41.92 KB
master WriteAndFlushEnrichedTraces net472 919μs 3.53μs 13.2μs 8.33 4.17 0 56.05 KB
#7954 WriteAndFlushEnrichedTraces net6.0 804μs 4.88μs 47.9μs 0 0 0 42.39 KB
#7954 WriteAndFlushEnrichedTraces netcoreapp3.1 787μs 4.38μs 29μs 0 0 0 42.74 KB
#7954 WriteAndFlushEnrichedTraces net472 942μs 4.02μs 15.6μs 8.33 4.17 0 56.32 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.9μs 0.352ns 1.32ns 0 0 0 968 B
master ExecuteNonQuery netcoreapp3.1 2.59μs 8.08ns 31.3ns 0 0 0 960 B
master ExecuteNonQuery net472 2.75μs 4.48ns 16.8ns 0.137 0 0 931 B
#7954 ExecuteNonQuery net6.0 1.94μs 9.63ns 39.7ns 0 0 0 968 B
#7954 ExecuteNonQuery netcoreapp3.1 2.6μs 6.93ns 26.9ns 0 0 0 960 B
#7954 ExecuteNonQuery net472 2.67μs 3.67ns 14.2ns 0.135 0 0 931 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.68μs 6.24ns 24.2ns 0 0 0 952 B
master CallElasticsearch netcoreapp3.1 2.21μs 10.9ns 44.8ns 0 0 0 968 B
master CallElasticsearch net472 3.58μs 4.73ns 18.3ns 0.139 0 0 955 B
master CallElasticsearchAsync net6.0 1.72μs 8.32ns 35.3ns 0 0 0 928 B
master CallElasticsearchAsync netcoreapp3.1 2.32μs 8.82ns 34.2ns 0 0 0 1.02 KB
master CallElasticsearchAsync net472 3.42μs 2.28ns 8.23ns 0.154 0 0 1.01 KB
#7954 CallElasticsearch net6.0 1.72μs 0.416ns 1.61ns 0 0 0 952 B
#7954 CallElasticsearch netcoreapp3.1 2.24μs 9.18ns 35.5ns 0 0 0 968 B
#7954 CallElasticsearch net472 3.6μs 6.85ns 26.5ns 0.144 0 0 955 B
#7954 CallElasticsearchAsync net6.0 1.73μs 8.85ns 38.6ns 0 0 0 928 B
#7954 CallElasticsearchAsync netcoreapp3.1 2.42μs 4.36ns 16.9ns 0 0 0 1.02 KB
#7954 CallElasticsearchAsync net472 3.43μs 1.66ns 6.43ns 0.154 0 0 1.01 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.8μs 7.17ns 26.8ns 0 0 0 896 B
master ExecuteAsync netcoreapp3.1 2.34μs 11ns 41.3ns 0 0 0 896 B
master ExecuteAsync net472 2.52μs 1.31ns 5.08ns 0.126 0 0 858 B
#7954 ExecuteAsync net6.0 1.78μs 6.93ns 26.8ns 0 0 0 896 B
#7954 ExecuteAsync netcoreapp3.1 2.36μs 10.7ns 41.4ns 0 0 0 896 B
#7954 ExecuteAsync net472 2.52μs 3.22ns 12.5ns 0.126 0 0 859 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.54μs 18.5ns 69.3ns 0 0 0 2.29 KB
master SendAsync netcoreapp3.1 8.49μs 26.8ns 104ns 0 0 0 2.83 KB
master SendAsync net472 12μs 9.41ns 36.4ns 0.484 0 0 3.08 KB
#7954 SendAsync net6.0 6.98μs 6.85ns 26.5ns 0 0 0 2.29 KB
#7954 SendAsync netcoreapp3.1 8.46μs 18.4ns 71.3ns 0 0 0 2.83 KB
#7954 SendAsync net472 12μs 10.2ns 39.7ns 0.477 0 0 3.08 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7954

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 246.35 KB 248.8 KB 2.45 KB 0.99%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 44.6μs 239ns 1.72μs 0 0 0 42.51 KB
master StringConcatBenchmark netcoreapp3.1 48.2μs 259ns 1.32μs 0 0 0 42.54 KB
master StringConcatBenchmark net472 56.7μs 282ns 1.29μs 0 0 0 49.15 KB
master StringConcatAspectBenchmark net6.0 439μs 1.91μs 6.88μs 0 0 0 246.35 KB
master StringConcatAspectBenchmark netcoreapp3.1 518μs 1.88μs 7.51μs 0 0 0 272.16 KB
master StringConcatAspectBenchmark net472 395μs 2.03μs 9.74μs 0 0 0 270.34 KB
#7954 StringConcatBenchmark net6.0 41.6μs 149ns 743ns 0 0 0 42.51 KB
#7954 StringConcatBenchmark netcoreapp3.1 48.5μs 287ns 2.47μs 0 0 0 42.54 KB
#7954 StringConcatBenchmark net472 56.6μs 219ns 818ns 0 0 0 49.15 KB
#7954 StringConcatAspectBenchmark net6.0 435μs 1.59μs 6.75μs 0 0 0 248.8 KB
#7954 StringConcatAspectBenchmark netcoreapp3.1 517μs 1.36μs 4.91μs 0 0 0 272.65 KB
#7954 StringConcatAspectBenchmark net472 400μs 2.16μs 11.4μs 0 0 0 270.34 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.68μs 14ns 72.8ns 0 0 0 1.69 KB
master EnrichedLog netcoreapp3.1 3.51μs 17.3ns 71.5ns 0 0 0 1.7 KB
master EnrichedLog net472 3.93μs 3.67ns 14.2ns 0.237 0 0 1.6 KB
#7954 EnrichedLog net6.0 2.72μs 2.41ns 9.32ns 0 0 0 1.69 KB
#7954 EnrichedLog netcoreapp3.1 3.54μs 17ns 65.7ns 0 0 0 1.7 KB
#7954 EnrichedLog net472 3.78μs 3.28ns 12.7ns 0.246 0 0 1.6 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 47.8ns 172ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 128μs 25.6ns 99.1ns 0 0 0 4.31 KB
master EnrichedLog net472 168μs 29.6ns 111ns 0 0 0 4.51 KB
#7954 EnrichedLog net6.0 122μs 39.5ns 148ns 0 0 0 4.31 KB
#7954 EnrichedLog netcoreapp3.1 126μs 35.6ns 128ns 0 0 0 4.31 KB
#7954 EnrichedLog net472 166μs 122ns 473ns 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.95μs 18ns 67.2ns 0 0 0 2.24 KB
master EnrichedLog netcoreapp3.1 6.79μs 20.8ns 80.4ns 0 0 0 2.26 KB
master EnrichedLog net472 7.61μs 6.45ns 25ns 0.304 0 0 2.05 KB
#7954 EnrichedLog net6.0 5.18μs 5.7ns 21.3ns 0 0 0 2.24 KB
#7954 EnrichedLog netcoreapp3.1 6.7μs 15.4ns 55.5ns 0 0 0 2.26 KB
#7954 EnrichedLog net472 7.54μs 5.05ns 19.6ns 0.3 0 0 2.05 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.95μs 9.74ns 43.6ns 0 0 0 1.12 KB
master SendReceive netcoreapp3.1 2.45μs 11.2ns 43.4ns 0 0 0 1.14 KB
master SendReceive net472 3.04μs 5.5ns 21.3ns 0.165 0 0 1.12 KB
#7954 SendReceive net6.0 1.93μs 8.21ns 31.8ns 0 0 0 1.12 KB
#7954 SendReceive netcoreapp3.1 2.59μs 8.49ns 32.9ns 0 0 0 1.14 KB
#7954 SendReceive net472 2.96μs 1.84ns 7.14ns 0.164 0 0 1.12 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.41μs 1.11ns 4.29ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.59μs 16.4ns 61.4ns 0 0 0 1.63 KB
master EnrichedLog net472 6.72μs 6.45ns 25ns 0.302 0 0 2.03 KB
#7954 EnrichedLog net6.0 4.28μs 6.26ns 24.2ns 0 0 0 1.58 KB
#7954 EnrichedLog netcoreapp3.1 5.74μs 20ns 77.4ns 0 0 0 1.63 KB
#7954 EnrichedLog net472 6.77μs 7.85ns 30.4ns 0.301 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 4.23ns 22.4ns 0 0 0 520 B
master StartFinishSpan netcoreapp3.1 936ns 4.32ns 16.1ns 0 0 0 520 B
master StartFinishSpan net472 883ns 0.151ns 0.584ns 0.0797 0 0 522 B
master StartFinishScope net6.0 906ns 0.526ns 1.97ns 0 0 0 640 B
master StartFinishScope netcoreapp3.1 1.1μs 5.99ns 33.9ns 0 0 0 640 B
master StartFinishScope net472 1.07μs 0.193ns 0.747ns 0.0911 0 0 602 B
master StartFinishTwoScopes net6.0 1.78μs 0.596ns 2.31ns 0 0 0 1.19 KB
master StartFinishTwoScopes netcoreapp3.1 2.19μs 11.8ns 52.8ns 0 0 0 1.19 KB
master StartFinishTwoScopes net472 2.11μs 1.68ns 6.49ns 0.17 0 0 1.08 KB
#7954 StartFinishSpan net6.0 769ns 2.56ns 9.9ns 0 0 0 520 B
#7954 StartFinishSpan netcoreapp3.1 950ns 4.74ns 21.7ns 0 0 0 520 B
#7954 StartFinishSpan net472 883ns 0.0941ns 0.339ns 0.0797 0 0 522 B
#7954 StartFinishScope net6.0 890ns 0.908ns 3.4ns 0 0 0 640 B
#7954 StartFinishScope netcoreapp3.1 1.12μs 6ns 31.2ns 0 0 0 640 B
#7954 StartFinishScope net472 1.07μs 0.0778ns 0.28ns 0.091 0 0 602 B
#7954 StartFinishTwoScopes net6.0 1.76μs 9.42ns 49.8ns 0 0 0 1.19 KB
#7954 StartFinishTwoScopes netcoreapp3.1 2.15μs 11.4ns 59.3ns 0 0 0 1.19 KB
#7954 StartFinishTwoScopes net472 2.12μs 2.3ns 8.89ns 0.169 0 0 1.08 KB
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.17ns 22.5ns 0 0 0 640 B
master RunOnMethodBegin netcoreapp3.1 1.33μs 4.1ns 15.9ns 0 0 0 640 B
master RunOnMethodBegin net472 1.42μs 0.633ns 2.45ns 0.0923 0 0 602 B
#7954 RunOnMethodBegin net6.0 1.08μs 0.692ns 2.59ns 0 0 0 640 B
#7954 RunOnMethodBegin netcoreapp3.1 1.34μs 6.21ns 24.9ns 0 0 0 640 B
#7954 RunOnMethodBegin net472 1.44μs 2.57ns 9.96ns 0.0946 0 0 602 B

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

dd-trace-dotnet-ci-bot bot commented Dec 16, 2025

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7954) and master.

✅ No regressions detected - check the details below

Full Metrics Comparison

FakeDbCommand

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration75.12 ± (75.07 - 75.83) ms75.54 ± (75.53 - 76.20) ms+0.6%✅⬆️
.NET Framework 4.8 - Bailout
duration83.45 ± (83.02 - 84.16) ms80.26 ± (80.13 - 80.74) ms-3.8%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1070.34 ± (1070.32 - 1077.70) ms1069.79 ± (1071.71 - 1080.23) ms-0.1%
.NET Core 3.1 - Baseline
process.internal_duration_ms23.03 ± (22.95 - 23.10) ms22.93 ± (22.86 - 23.01) ms-0.4%
process.time_to_main_ms87.56 ± (87.20 - 87.92) ms88.02 ± (87.67 - 88.36) ms+0.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.94 ± (10.93 - 10.94) MB10.93 ± (10.92 - 10.93) MB-0.1%
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms22.88 ± (22.81 - 22.95) ms23.10 ± (22.99 - 23.21) ms+1.0%✅⬆️
process.time_to_main_ms89.08 ± (88.69 - 89.46) ms89.59 ± (89.16 - 90.01) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.99 ± (10.99 - 11.00) MB10.95 ± (10.94 - 10.95) MB-0.4%
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms221.17 ± (219.20 - 223.15) ms222.93 ± (221.58 - 224.27) ms+0.8%✅⬆️
process.time_to_main_ms506.14 ± (504.75 - 507.53) ms507.21 ± (505.90 - 508.51) ms+0.2%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.09 ± (48.07 - 48.11) MB48.10 ± (48.09 - 48.12) MB+0.0%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.6%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms21.63 ± (21.57 - 21.69) ms21.52 ± (21.46 - 21.59) ms-0.5%
process.time_to_main_ms75.31 ± (74.98 - 75.63) ms75.32 ± (75.03 - 75.61) ms+0.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.63 ± (10.63 - 10.64) MB10.64 ± (10.63 - 10.64) MB+0.0%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms21.57 ± (21.50 - 21.63) ms21.49 ± (21.44 - 21.55) ms-0.3%
process.time_to_main_ms76.87 ± (76.55 - 77.20) ms77.06 ± (76.77 - 77.35) ms+0.2%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.69 ± (10.69 - 10.70) MB10.67 ± (10.67 - 10.68) MB-0.2%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms211.08 ± (209.75 - 212.41) ms209.64 ± (208.61 - 210.67) ms-0.7%
process.time_to_main_ms469.81 ± (468.79 - 470.83) ms466.29 ± (465.39 - 467.19) ms-0.7%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.43 ± (48.41 - 48.46) MB48.49 ± (48.47 - 48.52) MB+0.1%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.1%
.NET 8 - Baseline
process.internal_duration_ms19.86 ± (19.78 - 19.94) ms19.80 ± (19.74 - 19.87) ms-0.3%
process.time_to_main_ms75.26 ± (74.87 - 75.66) ms74.78 ± (74.46 - 75.10) ms-0.6%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.70 ± (7.69 - 7.70) MB7.65 ± (7.64 - 7.65) MB-0.6%
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms19.64 ± (19.59 - 19.70) ms19.92 ± (19.85 - 19.99) ms+1.4%✅⬆️
process.time_to_main_ms75.42 ± (75.10 - 75.74) ms76.67 ± (76.32 - 77.01) ms+1.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.74 ± (7.73 - 7.74) MB7.73 ± (7.72 - 7.74) MB-0.1%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms193.09 ± (192.19 - 193.98) ms190.19 ± (189.29 - 191.10) ms-1.5%
process.time_to_main_ms452.19 ± (451.23 - 453.15) ms452.35 ± (451.36 - 453.33) ms+0.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.54 ± (36.50 - 36.59) MB36.46 ± (36.42 - 36.50) MB-0.2%
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)-0.0%

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration192.50 ± (192.51 - 193.28) ms192.01 ± (192.14 - 192.99) ms-0.3%
.NET Framework 4.8 - Bailout
duration196.45 ± (196.28 - 196.81) ms195.95 ± (195.91 - 196.52) ms-0.3%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1122.36 ± (1126.64 - 1137.44) ms1108.89 ± (1111.56 - 1120.21) ms-1.2%
.NET Core 3.1 - Baseline
process.internal_duration_ms187.75 ± (187.39 - 188.11) ms186.83 ± (186.53 - 187.13) ms-0.5%
process.time_to_main_ms80.62 ± (80.40 - 80.83) ms80.40 ± (80.20 - 80.61) ms-0.3%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.10 ± (16.07 - 16.13) MB16.15 ± (16.13 - 16.18) MB+0.4%✅⬆️
runtime.dotnet.threads.count20 ± (19 - 20)20 ± (20 - 20)+0.8%✅⬆️
.NET Core 3.1 - Bailout
process.internal_duration_ms187.51 ± (187.21 - 187.80) ms187.05 ± (186.71 - 187.39) ms-0.2%
process.time_to_main_ms82.05 ± (81.93 - 82.17) ms81.77 ± (81.64 - 81.91) ms-0.3%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.15 ± (16.12 - 16.17) MB16.11 ± (16.01 - 16.20) MB-0.2%
runtime.dotnet.threads.count21 ± (20 - 21)20 ± (20 - 21)-0.7%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms401.24 ± (398.16 - 404.32) ms397.74 ± (394.78 - 400.69) ms-0.9%
process.time_to_main_ms474.56 ± (473.90 - 475.22) ms474.87 ± (474.16 - 475.58) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed58.28 ± (58.13 - 58.43) MB58.26 ± (58.11 - 58.42) MB-0.0%
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)-0.0%
.NET 6 - Baseline
process.internal_duration_ms191.96 ± (191.68 - 192.23) ms190.95 ± (190.59 - 191.32) ms-0.5%
process.time_to_main_ms69.95 ± (69.78 - 70.12) ms69.46 ± (69.32 - 69.60) ms-0.7%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.06 ± (15.97 - 16.15) MB16.36 ± (16.29 - 16.43) MB+1.9%✅⬆️
runtime.dotnet.threads.count18 ± (18 - 18)19 ± (19 - 19)+3.6%✅⬆️
.NET 6 - Bailout
process.internal_duration_ms190.86 ± (190.59 - 191.14) ms190.43 ± (190.13 - 190.73) ms-0.2%
process.time_to_main_ms70.82 ± (70.73 - 70.90) ms70.67 ± (70.57 - 70.77) ms-0.2%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.17 ± (16.04 - 16.31) MB16.16 ± (16.01 - 16.31) MB-0.1%
runtime.dotnet.threads.count20 ± (20 - 20)19 ± (19 - 20)-2.2%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms408.41 ± (405.74 - 411.08) ms409.04 ± (406.44 - 411.64) ms+0.2%✅⬆️
process.time_to_main_ms443.94 ± (443.34 - 444.54) ms444.23 ± (443.65 - 444.81) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed58.72 ± (58.56 - 58.87) MB58.76 ± (58.61 - 58.92) MB+0.1%✅⬆️
runtime.dotnet.threads.count30 ± (30 - 30)30 ± (30 - 30)-0.1%
.NET 8 - Baseline
process.internal_duration_ms189.41 ± (189.06 - 189.76) ms189.74 ± (189.31 - 190.18) ms+0.2%✅⬆️
process.time_to_main_ms69.46 ± (69.26 - 69.65) ms69.18 ± (69.02 - 69.34) ms-0.4%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.72 ± (11.69 - 11.75) MB11.78 ± (11.74 - 11.82) MB+0.5%✅⬆️
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)+0.6%✅⬆️
.NET 8 - Bailout
process.internal_duration_ms188.61 ± (188.35 - 188.87) ms189.25 ± (188.93 - 189.57) ms+0.3%✅⬆️
process.time_to_main_ms70.29 ± (70.19 - 70.38) ms70.30 ± (70.18 - 70.41) ms+0.0%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.85 ± (11.81 - 11.88) MB11.83 ± (11.80 - 11.85) MB-0.2%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.4%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms365.46 ± (364.01 - 366.91) ms363.95 ± (362.34 - 365.56) ms-0.4%
process.time_to_main_ms427.67 ± (427.15 - 428.19) ms426.59 ± (425.99 - 427.19) ms-0.3%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed47.91 ± (47.88 - 47.95) MB47.95 ± (47.93 - 47.98) MB+0.1%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)-0.0%
Comparison explanation

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 highlighted 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).

Duration charts
FakeDbCommand (.NET Framework 4.8)
gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7954) - mean (76ms)  : 71, 81
    master - mean (75ms)  : 70, 81

    section Bailout
    This PR (7954) - mean (80ms)  : 76, 85
    master - mean (84ms)  : 75, 92

    section CallTarget+Inlining+NGEN
    This PR (7954) - mean (1,076ms)  : 1015, 1137
    master - mean (1,074ms)  : 1022, 1126

Loading
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 (7954) - mean (118ms)  : 111, 126
    master - mean (118ms)  : 112, 125

    section Bailout
    This PR (7954) - mean (120ms)  : 113, 127
    master - mean (120ms)  : 113, 127

    section CallTarget+Inlining+NGEN
    This PR (7954) - mean (766ms)  : 725, 806
    master - mean (771ms)  : 729, 812

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7954) - mean (104ms)  : 99, 109
    master - mean (104ms)  : 96, 111

    section Bailout
    This PR (7954) - mean (105ms)  : 100, 111
    master - mean (106ms)  : 99, 112

    section CallTarget+Inlining+NGEN
    This PR (7954) - mean (703ms)  : 681, 725
    master - mean (717ms)  : 664, 769

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7954) - mean (103ms)  : 97, 109
    master - mean (104ms)  : 96, 112

    section Bailout
    This PR (7954) - mean (105ms)  : 99, 111
    master - mean (104ms)  : 97, 110

    section CallTarget+Inlining+NGEN
    This PR (7954) - mean (674ms)  : 637, 710
    master - mean (686ms)  : 658, 714

Loading
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 (7954) - mean (193ms)  : 188, 197
    master - mean (193ms)  : 189, 197

    section Bailout
    This PR (7954) - mean (196ms)  : 193, 199
    master - mean (197ms)  : 194, 199

    section CallTarget+Inlining+NGEN
    This PR (7954) - mean (1,116ms)  : 1053, 1179
    master - mean (1,132ms)  : 1050, 1214

Loading
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 (7954) - mean (276ms)  : 272, 280
    master - mean (277ms)  : 271, 282

    section Bailout
    This PR (7954) - mean (277ms)  : 273, 281
    master - mean (278ms)  : 274, 282

    section CallTarget+Inlining+NGEN
    This PR (7954) - mean (908ms)  : 863, 953
    master - mean (910ms)  : 866, 954

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7954) - mean (268ms)  : 263, 273
    master - mean (270ms)  : 263, 277

    section Bailout
    This PR (7954) - mean (269ms)  : 265, 273
    master - mean (269ms)  : 266, 273

    section CallTarget+Inlining+NGEN
    This PR (7954) - mean (885ms)  : 843, 927
    master - mean (888ms)  : 842, 933

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7954) - mean (268ms)  : 262, 275
    master - mean (269ms)  : 263, 275

    section Bailout
    This PR (7954) - mean (269ms)  : 265, 273
    master - mean (268ms)  : 264, 272

    section CallTarget+Inlining+NGEN
    This PR (7954) - mean (821ms)  : 800, 843
    master - mean (824ms)  : 805, 844

Loading

@vandonr vandonr changed the title see if this fixes systests fix bug where process tags were never initialized for telemetry Dec 16, 2025
@vandonr vandonr marked this pull request as ready for review December 16, 2025 12:15
@vandonr vandonr requested a review from a team as a code owner December 16, 2025 12:15
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!

@vandonr vandonr enabled auto-merge (squash) December 16, 2025 12:23
@vandonr vandonr merged commit 4afd6ca into master Dec 16, 2025
82 of 149 checks passed
@vandonr vandonr deleted the vandonr/explo branch December 16, 2025 13:15
@github-actions github-actions bot added this to the vNext-v3 milestone Dec 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) type:bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants