Skip to content

Allow disabling remote config management explicitly #6942

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

Merged
merged 4 commits into from
May 13, 2025

Conversation

andrewlock
Copy link
Member

Summary of changes

Add DD_REMOTE_CONFIGURATION_ENABLED setting

Reason for change

There are some situations in which remote config is not available - basically whenever the full agent isn't enabled. Currently we calculate this dynamically, but this allows explicitly disabling it.

The main need is that the smoke tests don't support RCM, and we're seeing some flake due to the tracer adding a warning in the logs, and our log scanner failing the build on this basis. Instead, we should disable RCM as we know it's not available.

Note that this config value is already available in other languages: ruby, python, js... I stopped checking after that 😅

Implementation details

  • Add a new config, use it to override the value of IsRemoteConfigurationAvailable
  • Disable remote config in all the smoke tests

Test coverage

Added unit tests for the value of IsRemoteConfigurationAvailable

Other details

PR for adding the config to intake:

@andrewlock andrewlock requested review from a team as code owners May 8, 2025 12:33
@andrewlock andrewlock added area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) area:remote-config labels May 8, 2025
Copy link
Contributor

@NachoEchevarria NachoEchevarria left a comment

Choose a reason for hiding this comment

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

Nice!

@pr-commenter
Copy link

pr-commenter bot commented May 8, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #6942 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.124
  • 1 benchmarks are slower, with geometric mean 1.202
  • 2 benchmarks have fewer allocations
  • 5 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.8μs 39.3ns 147ns 0 0 0 5.55 KB
master StartStopWithChild netcoreapp3.1 13.5μs 69.8ns 320ns 0 0 0 5.75 KB
master StartStopWithChild net472 22.5μs 127ns 882ns 0.912 0.228 0 6.14 KB
#6942 StartStopWithChild net6.0 10.5μs 58.5ns 361ns 0 0 0 5.56 KB
#6942 StartStopWithChild netcoreapp3.1 14.4μs 62.9ns 244ns 0 0 0 5.73 KB
#6942 StartStopWithChild net472 21.6μs 122ns 768ns 0.989 0.33 0.11 6.15 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 927μs 49.2ns 184ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 182ns 680ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.24ms 81.7ns 316ns 0 0 0 3.31 KB
#6942 WriteAndFlushEnrichedTraces net6.0 947μs 93.4ns 324ns 0 0 0 2.7 KB
#6942 WriteAndFlushEnrichedTraces netcoreapp3.1 1.04ms 158ns 547ns 0 0 0 2.7 KB
#6942 WriteAndFlushEnrichedTraces net472 1.24ms 330ns 1.28μs 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 327μs 1.54μs 6.52μs 0 0 0 196.71 KB
master AllCycleSimpleBody netcoreapp3.1 499μs 1.66μs 5.98μs 0 0 0 204.37 KB
master AllCycleSimpleBody net472 438μs 112ns 418ns 36.6 2.16 0 235.77 KB
master AllCycleMoreComplexBody net6.0 336μs 1.41μs 5.44μs 0 0 0 200.21 KB
master AllCycleMoreComplexBody netcoreapp3.1 480μs 1.79μs 6.47μs 0 0 0 207.78 KB
master AllCycleMoreComplexBody net472 449μs 149ns 576ns 37.9 2.23 0 239.27 KB
master ObjectExtractorSimpleBody net6.0 341ns 1.34ns 5ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 395ns 2.16ns 11.6ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 300ns 0.0237ns 0.0853ns 0.0439 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.28μs 31.2ns 117ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.74μs 30.5ns 118ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.68μs 1.92ns 7.19ns 0.6 0 0 3.8 KB
#6942 AllCycleSimpleBody net6.0 334μs 1.59μs 6.75μs 0 0 0 197.06 KB
#6942 AllCycleSimpleBody netcoreapp3.1 485μs 620ns 2.4μs 0 0 0 204.77 KB
#6942 AllCycleSimpleBody net472 436μs 115ns 446ns 36.6 2.16 0 236.35 KB
#6942 AllCycleMoreComplexBody net6.0 342μs 925ns 3.46μs 0 0 0 200.57 KB
#6942 AllCycleMoreComplexBody netcoreapp3.1 495μs 1.01μs 3.9μs 0 0 0 208.18 KB
#6942 AllCycleMoreComplexBody net472 446μs 146ns 564ns 37.9 2.23 0 239.88 KB
#6942 ObjectExtractorSimpleBody net6.0 316ns 0.168ns 0.629ns 0 0 0 280 B
#6942 ObjectExtractorSimpleBody netcoreapp3.1 408ns 1.99ns 7.97ns 0 0 0 272 B
#6942 ObjectExtractorSimpleBody net472 302ns 0.0758ns 0.293ns 0.0441 0 0 281 B
#6942 ObjectExtractorMoreComplexBody net6.0 6.36μs 30ns 116ns 0 0 0 3.78 KB
#6942 ObjectExtractorMoreComplexBody netcoreapp3.1 7.75μs 36ns 148ns 0 0 0 3.69 KB
#6942 ObjectExtractorMoreComplexBody net472 6.64μs 1.88ns 6.79ns 0.601 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Unknown 🤷 Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
master EncodeArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master EncodeArgs net472 N/A N/A N/A NaN NaN NaN 0 b
master EncodeLegacyArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
master EncodeLegacyArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master EncodeLegacyArgs net472 N/A N/A N/A NaN NaN NaN 0 b
#6942 EncodeArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
#6942 EncodeArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#6942 EncodeArgs net472 N/A N/A N/A NaN NaN NaN 0 b
#6942 EncodeLegacyArgs net6.0 N/A N/A N/A NaN NaN NaN 0 b
#6942 EncodeLegacyArgs netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#6942 EncodeLegacyArgs net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.Asm.AppSecWafBenchmark - Unknown 🤷 Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmark netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmark net472 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmarkWithAttack net6.0 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master RunWafRealisticBenchmarkWithAttack net472 N/A N/A N/A NaN NaN NaN 0 b
#6942 RunWafRealisticBenchmark net6.0 N/A N/A N/A NaN NaN NaN 0 b
#6942 RunWafRealisticBenchmark netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#6942 RunWafRealisticBenchmark net472 N/A N/A N/A NaN NaN NaN 0 b
#6942 RunWafRealisticBenchmarkWithAttack net6.0 N/A N/A N/A NaN NaN NaN 0 b
#6942 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#6942 RunWafRealisticBenchmarkWithAttack net472 N/A N/A N/A NaN NaN NaN 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 61.7μs 39.1ns 141ns 0 0 0 14.53 KB
master SendRequest netcoreapp3.1 72.2μs 117ns 420ns 0 0 0 17.42 KB
master SendRequest net472 0.0166ns 0.00188ns 0.00729ns 0 0 0 0 b
#6942 SendRequest net6.0 61.4μs 33.6ns 130ns 0 0 0 14.53 KB
#6942 SendRequest netcoreapp3.1 71.1μs 212ns 793ns 0 0 0 17.42 KB
#6942 SendRequest net472 0.0238ns 0.00225ns 0.00872ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #6942

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.202 838,045.98 1,007,629.91

More allocations ⚠️ in #6942

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 55.75 KB 56.32 KB 568 B 1.02%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.66 KB 41.92 KB 260 B 0.62%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 684μs 3.86μs 25.6μs 0 0 0 41.66 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 696μs 3.97μs 30.5μs 0 0 0 41.72 KB
master WriteAndFlushEnrichedTraces net472 844μs 3.8μs 14.7μs 4.46 0 0 55.75 KB
#6942 WriteAndFlushEnrichedTraces net6.0 748μs 4.36μs 38.2μs 0 0 0 41.92 KB
#6942 WriteAndFlushEnrichedTraces netcoreapp3.1 714μs 4.04μs 29.4μs 0 0 0 41.83 KB
#6942 WriteAndFlushEnrichedTraces net472 1ms 4.74μs 18.3μs 8.93 4.46 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.97μs 6.61ns 25.6ns 0 0 0 1.03 KB
master ExecuteNonQuery netcoreapp3.1 2.47μs 7.74ns 30ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.82μs 3.29ns 12.7ns 0.155 0.0141 0 995 B
#6942 ExecuteNonQuery net6.0 1.99μs 6.83ns 25.6ns 0 0 0 1.03 KB
#6942 ExecuteNonQuery netcoreapp3.1 2.51μs 10.6ns 39.8ns 0 0 0 1.02 KB
#6942 ExecuteNonQuery net472 2.73μs 3ns 11.6ns 0.148 0.0134 0 995 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.87μs 5.16ns 20ns 0 0 0 1.04 KB
master CallElasticsearch netcoreapp3.1 2.26μs 5.72ns 22.1ns 0 0 0 1.04 KB
master CallElasticsearch net472 3.55μs 4.21ns 16.3ns 0.159 0 0 1.05 KB
master CallElasticsearchAsync net6.0 1.93μs 4.48ns 17.4ns 0 0 0 1.02 KB
master CallElasticsearchAsync netcoreapp3.1 2.29μs 9.98ns 37.4ns 0 0 0 1.09 KB
master CallElasticsearchAsync net472 3.6μs 1.66ns 6.42ns 0.163 0 0 1.11 KB
#6942 CallElasticsearch net6.0 1.8μs 6.49ns 25.2ns 0 0 0 1.04 KB
#6942 CallElasticsearch netcoreapp3.1 2.35μs 10.5ns 40.7ns 0 0 0 1.04 KB
#6942 CallElasticsearch net472 3.52μs 1.71ns 6.61ns 0.158 0 0 1.05 KB
#6942 CallElasticsearchAsync net6.0 1.85μs 9.23ns 40.2ns 0 0 0 1.02 KB
#6942 CallElasticsearchAsync netcoreapp3.1 2.35μs 10.5ns 40.5ns 0 0 0 1.09 KB
#6942 CallElasticsearchAsync net472 3.75μs 3.01ns 11.6ns 0.17 0 0 1.11 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.78μs 1.91ns 7.38ns 0 0 0 960 B
master ExecuteAsync netcoreapp3.1 2.34μs 9.99ns 38.7ns 0 0 0 960 B
master ExecuteAsync net472 2.55μs 1.01ns 3.91ns 0.14 0 0 923 B
#6942 ExecuteAsync net6.0 1.85μs 1.13ns 3.9ns 0 0 0 960 B
#6942 ExecuteAsync netcoreapp3.1 2.3μs 4.75ns 18.4ns 0 0 0 960 B
#6942 ExecuteAsync net472 2.54μs 1.78ns 6.88ns 0.14 0 0 923 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.1μs 8.11ns 30.3ns 0 0 0 2.37 KB
master SendAsync netcoreapp3.1 8.4μs 24.3ns 90.9ns 0 0 0 2.9 KB
master SendAsync net472 12.6μs 11.2ns 43.5ns 0.501 0 0 3.19 KB
#6942 SendAsync net6.0 7.08μs 14ns 50.6ns 0 0 0 2.37 KB
#6942 SendAsync netcoreapp3.1 8.59μs 23.3ns 90.3ns 0 0 0 2.9 KB
#6942 SendAsync net472 12.4μs 14.9ns 57.5ns 0.494 0 0 3.19 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Faster 🎉 More allocations ⚠️

Faster 🎉 in #6942

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 1.124 497,300.00 442,600.00

More allocations ⚠️ in #6942

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 250.58 KB 272.9 KB 22.32 KB 8.91%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.53 KB 44.15 KB 624 B 1.43%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 42.86 KB 43.23 KB 368 B 0.86%

Fewer allocations 🎉 in #6942

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 276.38 KB 258.91 KB -17.47 KB -6.32%
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 41.8μs 199ns 746ns 0 0 0 43.53 KB
master StringConcatBenchmark netcoreapp3.1 54.6μs 824ns 8.07μs 0 0 0 42.86 KB
master StringConcatBenchmark net472 57.4μs 237ns 885ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 498μs 1.64μs 5.93μs 0 0 0 276.38 KB
master StringConcatAspectBenchmark netcoreapp3.1 514μs 1.48μs 5.52μs 0 0 0 250.58 KB
master StringConcatAspectBenchmark net472 406μs 2.33μs 17.7μs 0 0 0 278.53 KB
#6942 StringConcatBenchmark net6.0 41.9μs 212ns 1.12μs 0 0 0 44.15 KB
#6942 StringConcatBenchmark netcoreapp3.1 50μs 289ns 2.42μs 0 0 0 43.23 KB
#6942 StringConcatBenchmark net472 57.2μs 188ns 703ns 0 0 0 57.34 KB
#6942 StringConcatAspectBenchmark net6.0 444μs 1.13μs 4.08μs 0 0 0 258.91 KB
#6942 StringConcatAspectBenchmark netcoreapp3.1 502μs 2.39μs 9.56μs 0 0 0 272.9 KB
#6942 StringConcatAspectBenchmark net472 407μs 2.3μs 15.8μ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.55μs 5.21ns 19.5ns 0 0 0 1.76 KB
master EnrichedLog netcoreapp3.1 3.47μs 16.6ns 66.3ns 0 0 0 1.76 KB
master EnrichedLog net472 3.91μs 3.44ns 13.3ns 0.254 0 0 1.69 KB
#6942 EnrichedLog net6.0 2.54μs 13.4ns 69.6ns 0 0 0 1.76 KB
#6942 EnrichedLog netcoreapp3.1 3.51μs 2.72ns 10.5ns 0 0 0 1.76 KB
#6942 EnrichedLog net472 3.93μs 2ns 7.73ns 0.257 0 0 1.69 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 109ns 394ns 0 0 0 4.37 KB
master EnrichedLog netcoreapp3.1 127μs 40.5ns 157ns 0 0 0 4.37 KB
master EnrichedLog net472 166μs 68.6ns 257ns 0 0 0 4.57 KB
#6942 EnrichedLog net6.0 122μs 120ns 414ns 0 0 0 4.37 KB
#6942 EnrichedLog netcoreapp3.1 129μs 59.6ns 206ns 0 0 0 4.37 KB
#6942 EnrichedLog net472 166μs 38.4ns 149ns 0 0 0 4.57 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.13μs 4.27ns 16.5ns 0 0 0 2.32 KB
master EnrichedLog netcoreapp3.1 6.57μs 12.4ns 47.9ns 0 0 0 2.32 KB
master EnrichedLog net472 7.24μs 4.4ns 15.2ns 0.33 0 0 2.14 KB
#6942 EnrichedLog net6.0 4.85μs 15.3ns 59.4ns 0 0 0 2.32 KB
#6942 EnrichedLog netcoreapp3.1 6.6μs 18.6ns 72.2ns 0 0 0 2.32 KB
#6942 EnrichedLog net472 7.47μs 12.8ns 49.4ns 0.335 0 0 2.14 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μs 10.3ns 49.5ns 0 0 0 1.21 KB
master SendReceive netcoreapp3.1 2.57μs 12.6ns 55.1ns 0 0 0 1.21 KB
master SendReceive net472 3.05μs 1.92ns 6.92ns 0.184 0 0 1.21 KB
#6942 SendReceive net6.0 1.98μs 9.57ns 41.7ns 0 0 0 1.21 KB
#6942 SendReceive netcoreapp3.1 2.54μs 9.96ns 37.3ns 0 0 0 1.21 KB
#6942 SendReceive net472 2.98μs 7.33ns 26.4ns 0.192 0 0 1.21 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.11μs 11.4ns 42.6ns 0 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 5.61μs 12.6ns 48.6ns 0 0 0 1.69 KB
master EnrichedLog net472 6.58μs 5.42ns 21ns 0.331 0 0 2.08 KB
#6942 EnrichedLog net6.0 4.1μs 4.7ns 17ns 0 0 0 1.64 KB
#6942 EnrichedLog netcoreapp3.1 5.67μs 20.8ns 80.7ns 0 0 0 1.69 KB
#6942 EnrichedLog net472 6.84μs 12ns 46.6ns 0.311 0 0 2.08 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 744ns 4.1ns 23.2ns 0 0 0 584 B
master StartFinishSpan netcoreapp3.1 943ns 4.67ns 21.4ns 0 0 0 584 B
master StartFinishSpan net472 922ns 0.264ns 0.988ns 0.0921 0 0 586 B
master StartFinishScope net6.0 896ns 0.753ns 2.92ns 0 0 0 704 B
master StartFinishScope netcoreapp3.1 1.17μs 1.61ns 6.02ns 0 0 0 704 B
master StartFinishScope net472 1.13μs 0.222ns 0.859ns 0.101 0 0 666 B
#6942 StartFinishSpan net6.0 752ns 4.07ns 22.7ns 0 0 0 584 B
#6942 StartFinishSpan netcoreapp3.1 931ns 4.7ns 21ns 0 0 0 584 B
#6942 StartFinishSpan net472 907ns 0.208ns 0.805ns 0.0909 0 0 586 B
#6942 StartFinishScope net6.0 916ns 3.98ns 15.9ns 0 0 0 704 B
#6942 StartFinishScope netcoreapp3.1 1.14μs 5.96ns 29.8ns 0 0 0 704 B
#6942 StartFinishScope net472 1.1μs 0.255ns 0.987ns 0.105 0 0 666 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 1.8ns 6.98ns 0 0 0 704 B
master RunOnMethodBegin netcoreapp3.1 1.33μs 4.6ns 17.2ns 0 0 0 704 B
master RunOnMethodBegin net472 1.35μs 0.669ns 2.59ns 0.101 0 0 666 B
#6942 RunOnMethodBegin net6.0 1.04μs 0.524ns 1.89ns 0 0 0 704 B
#6942 RunOnMethodBegin netcoreapp3.1 1.34μs 6.47ns 26.7ns 0 0 0 704 B
#6942 RunOnMethodBegin net472 1.39μs 2.69ns 10.4ns 0.103 0 0 666 B

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented May 8, 2025

Datadog Report

All test runs a325457 🔗

2 Total Test Services: 0 Failed, 2 Passed

Test Services
Service Name Failed Known Flaky New Flaky Passed Skipped Total Time Test Service View
dd-trace-dotnet 0 0 0 251858 2314 17h 25m 54.94s Link
exploration_tests 0 0 0 22085 3 2m 9.55s Link

@andrewlock
Copy link
Member Author

andrewlock commented May 8, 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 Baseline
    This PR (6942) - mean (68ms)  : 65, 72
     .   : milestone, 68,
    master - mean (69ms)  : 64, 75
     .   : milestone, 69,

    section CallTarget+Inlining+NGEN
    This PR (6942) - mean (1,008ms)  : 988, 1028
     .   : milestone, 1008,
    master - mean (1,004ms)  : 976, 1033
     .   : milestone, 1004,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6942) - mean (103ms)  : 101, 105
     .   : milestone, 103,
    master - mean (103ms)  : 101, 104
     .   : milestone, 103,

    section CallTarget+Inlining+NGEN
    This PR (6942) - mean (695ms)  : 674, 717
     .   : milestone, 695,
    master - mean (693ms)  : 676, 711
     .   : milestone, 693,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6942) - mean (90ms)  : 88, 92
     .   : milestone, 90,
    master - mean (90ms)  : 88, 92
     .   : milestone, 90,

    section CallTarget+Inlining+NGEN
    This PR (6942) - mean (655ms)  : 638, 672
     .   : milestone, 655,
    master - mean (654ms)  : 634, 674
     .   : milestone, 654,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6942) - mean (189ms)  : 186, 193
     .   : milestone, 189,
    master - mean (189ms)  : 186, 192
     .   : milestone, 189,

    section CallTarget+Inlining+NGEN
    This PR (6942) - mean (1,110ms)  : 1080, 1141
     .   : milestone, 1110,
    master - mean (1,106ms)  : 1079, 1134
     .   : milestone, 1106,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6942) - mean (268ms)  : 264, 273
     .   : milestone, 268,
    master - mean (269ms)  : 263, 275
     .   : milestone, 269,

    section CallTarget+Inlining+NGEN
    This PR (6942) - mean (883ms)  : 847, 920
     .   : milestone, 883,
    master - mean (882ms)  : 858, 905
     .   : milestone, 882,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6942) - mean (261ms)  : 258, 265
     .   : milestone, 261,
    master - mean (262ms)  : 258, 266
     .   : milestone, 262,

    section CallTarget+Inlining+NGEN
    This PR (6942) - mean (870ms)  : 837, 902
     .   : milestone, 870,
    master - mean (870ms)  : 834, 907
     .   : milestone, 870,

Loading

@andrewlock andrewlock force-pushed the andrew/allow-disabling-remote-config-explicitly branch from 2583fb8 to a325457 Compare May 9, 2025 07:52
@andrewlock andrewlock merged commit c96db9c into master May 13, 2025
129 of 130 checks passed
@andrewlock andrewlock deleted the andrew/allow-disabling-remote-config-explicitly branch May 13, 2025 08:41
@github-actions github-actions bot added this to the vNext-v3 milestone May 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:remote-config area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants