Skip to content

Comments

[Config registry] Only one yaml for all#8206

Open
anna-git wants to merge 10 commits intomasterfrom
anna/config-registry-only-one-yaml
Open

[Config registry] Only one yaml for all#8206
anna-git wants to merge 10 commits intomasterfrom
anna/config-registry-only-one-yaml

Conversation

@anna-git
Copy link
Contributor

@anna-git anna-git commented Feb 16, 2026

Summary of changes

Most changes here are generated files regenerated for minor modifications

Removes:

  • tracer/src/Datadog.Trace/Configuration/supported-configurations-docs.yaml
  • tracer/src/Datadog.Trace/Configuration/supported-configurations.json
  • tracer/src/Datadog.Trace/Configuration/configuration_keys_mapping.json

Adds:

  • supported-configurations.yaml as the source of truth for all configuration keys with all fields. Update source generators and CI validation accordingly.

Reason for change

  • Consolidate configuration key definitions into one file instead of scattered JSON files per product
  • Make documentation a mandatory field on every configuration key, enforced at build time via diagnostic DDSG0008
  • Update the pipeline to get yaml support

Implementation details

  • New YAML source of truth: Added supported-configurations.yaml containing all configuration keys with documentation, types, defaults, aliases, and product assignments
  • Adapted source generators: ConfigurationKeysGenerator and ConfigKeyAliasesSwitcherGenerator now read from the YAML instead of JSON; documentation is mandatory (emits DDSG0008 error if missing)
  • Removed old JSON files: Deleted the per-product JSON configuration files that were previously used as generator inputs
  • Updated .csproj: supported-configurations.yaml is now provided as AdditionalFiles; added MSBuild target to generate supported-configurations.json from YAML for backward compatibility
  • Updated CI: Switched validate_supported_configurations job to use the v2 YAML-based validation template

Test coverage

  • Adaptation of existing tests

@anna-git anna-git force-pushed the anna/config-registry-only-one-yaml branch from 511740d to 4ff6413 Compare February 16, 2026 11:48
@pr-commenter
Copy link

pr-commenter bot commented Feb 16, 2026

Benchmarks

Benchmark execution time: 2026-02-21 17:05:13

Comparing candidate commit 78bf847 in PR branch anna/config-registry-only-one-yaml with baseline commit 7ff6b28 in branch master.

Found 10 performance improvements and 4 performance regressions! Performance is the same for 163 metrics, 15 unstable metrics.

scenario:Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces net6.0

  • 🟥 execution_time [+79.585ms; +79.837ms] or [+65.760%; +65.968%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody netcoreapp3.1

  • 🟩 execution_time [-22.458ms; -16.338ms] or [-10.388%; -7.558%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody net6.0

  • 🟩 execution_time [-25.704ms; -19.162ms] or [-11.350%; -8.461%]

scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1

  • 🟥 execution_time [+13.273ms; +19.335ms] or [+6.711%; +9.776%]

scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest netcoreapp3.1

  • 🟥 execution_time [+21.076ms; +29.017ms] or [+19.887%; +27.380%]

scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces netcoreapp3.1

  • 🟥 execution_time [+23.518ms; +30.691ms] or [+16.365%; +21.357%]

scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net6.0

  • 🟩 execution_time [-87.535µs; -83.545µs] or [-5.726%; -5.465%]
  • 🟩 throughput [+37.849op/s; +39.688op/s] or [+5.786%; +6.068%]

scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice netcoreapp3.1

  • 🟩 execution_time [-880.779µs; -659.367µs] or [-31.302%; -23.433%]

scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool net6.0

  • 🟩 execution_time [-103.461µs; -95.552µs] or [-9.208%; -8.504%]
  • 🟩 throughput [+82.911op/s; +90.095op/s] or [+9.316%; +10.123%]

scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch net6.0

  • 🟩 execution_time [-13.155ms; -12.377ms] or [-6.185%; -5.819%]

scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog netcoreapp3.1

  • 🟩 execution_time [-35.918ms; -30.295ms] or [-18.232%; -15.378%]

scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore net6.0

  • 🟩 execution_time [-50.353ms; -48.218ms] or [-34.677%; -33.207%]

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

dd-trace-dotnet-ci-bot bot commented Feb 16, 2026

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (8206) 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
duration73.54 ± (73.50 - 73.77) ms75.10 ± (75.19 - 75.53) ms+2.1%✅⬆️
.NET Framework 4.8 - Bailout
duration78.50 ± (78.35 - 78.72) ms79.56 ± (79.36 - 79.70) ms+1.4%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1064.73 ± (1065.87 - 1072.43) ms1080.35 ± (1081.11 - 1087.41) ms+1.5%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms22.52 ± (22.48 - 22.57) ms22.78 ± (22.73 - 22.82) ms+1.1%✅⬆️
process.time_to_main_ms84.68 ± (84.51 - 84.85) ms86.47 ± (86.27 - 86.66) ms+2.1%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.91 ± (10.90 - 10.91) MB10.92 ± (10.92 - 10.92) MB+0.1%✅⬆️
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms22.38 ± (22.34 - 22.42) ms22.79 ± (22.75 - 22.83) ms+1.8%✅⬆️
process.time_to_main_ms86.01 ± (85.83 - 86.18) ms87.53 ± (87.32 - 87.74) ms+1.8%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.95 ± (10.95 - 10.96) MB10.95 ± (10.95 - 10.96) MB-0.0%
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms254.46 ± (250.67 - 258.25) ms237.92 ± (233.89 - 241.96) ms-6.5%
process.time_to_main_ms484.52 ± (483.85 - 485.19) ms494.63 ± (493.96 - 495.30) ms+2.1%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.64 ± (47.62 - 47.66) MB47.64 ± (47.62 - 47.66) MB-0.0%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%
.NET 6 - Baseline
process.internal_duration_ms21.24 ± (21.20 - 21.28) ms21.74 ± (21.69 - 21.78) ms+2.3%✅⬆️
process.time_to_main_ms73.24 ± (73.08 - 73.40) ms75.81 ± (75.65 - 75.96) ms+3.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.62 ± (10.61 - 10.62) MB10.65 ± (10.64 - 10.65) MB+0.3%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms21.25 ± (21.20 - 21.29) ms21.73 ± (21.68 - 21.79) ms+2.3%✅⬆️
process.time_to_main_ms74.66 ± (74.48 - 74.84) ms77.25 ± (77.08 - 77.42) ms+3.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.68 ± (10.67 - 10.68) MB10.75 ± (10.75 - 10.76) MB+0.7%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms254.11 ± (251.26 - 256.95) ms253.28 ± (249.59 - 256.98) ms-0.3%
process.time_to_main_ms467.54 ± (466.99 - 468.08) ms476.89 ± (476.25 - 477.52) ms+2.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.35 ± (48.33 - 48.38) MB48.38 ± (48.36 - 48.40) MB+0.1%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.2%
.NET 8 - Baseline
process.internal_duration_ms19.57 ± (19.54 - 19.61) ms19.99 ± (19.94 - 20.03) ms+2.1%✅⬆️
process.time_to_main_ms73.43 ± (73.27 - 73.59) ms75.27 ± (75.12 - 75.42) ms+2.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.67 ± (7.66 - 7.68) MB7.69 ± (7.68 - 7.69) MB+0.2%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms19.54 ± (19.49 - 19.58) ms19.87 ± (19.82 - 19.92) ms+1.7%✅⬆️
process.time_to_main_ms74.47 ± (74.30 - 74.65) ms75.92 ± (75.76 - 76.08) ms+1.9%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.72 ± (7.71 - 7.73) MB7.73 ± (7.73 - 7.74) MB+0.2%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms189.47 ± (188.58 - 190.36) ms190.57 ± (189.45 - 191.69) ms+0.6%✅⬆️
process.time_to_main_ms447.57 ± (446.73 - 448.42) ms456.21 ± (455.40 - 457.01) ms+1.9%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.03 ± (35.99 - 36.08) MB36.16 ± (36.10 - 36.22) MB+0.4%✅⬆️
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
duration193.40 ± (193.48 - 194.24) ms193.21 ± (193.09 - 193.92) ms-0.1%
.NET Framework 4.8 - Bailout
duration196.66 ± (196.44 - 196.91) ms197.52 ± (197.35 - 197.94) ms+0.4%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1136.77 ± (1138.50 - 1145.52) ms1145.48 ± (1147.57 - 1155.26) ms+0.8%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms187.91 ± (187.64 - 188.18) ms188.32 ± (187.84 - 188.80) ms+0.2%✅⬆️
process.time_to_main_ms81.22 ± (81.01 - 81.43) ms81.19 ± (80.98 - 81.40) ms-0.0%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.18 ± (16.15 - 16.21) MB16.14 ± (16.11 - 16.16) MB-0.3%
runtime.dotnet.threads.count20 ± (19 - 20)20 ± (19 - 20)-0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms187.83 ± (187.49 - 188.17) ms187.39 ± (186.99 - 187.79) ms-0.2%
process.time_to_main_ms82.59 ± (82.44 - 82.73) ms82.43 ± (82.27 - 82.60) ms-0.2%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.24 ± (16.22 - 16.27) MB16.27 ± (16.24 - 16.29) MB+0.1%✅⬆️
runtime.dotnet.threads.count21 ± (20 - 21)21 ± (21 - 21)+0.4%✅⬆️
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms439.29 ± (436.39 - 442.19) ms439.42 ± (437.12 - 441.72) ms+0.0%✅⬆️
process.time_to_main_ms474.47 ± (473.84 - 475.10) ms475.10 ± (474.62 - 475.58) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed57.63 ± (57.51 - 57.76) MB58.04 ± (57.92 - 58.16) MB+0.7%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.0%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms192.48 ± (192.04 - 192.92) ms192.20 ± (191.79 - 192.60) ms-0.1%
process.time_to_main_ms70.62 ± (70.39 - 70.85) ms70.65 ± (70.47 - 70.83) ms+0.0%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.09 ± (15.96 - 16.22) MB16.42 ± (16.39 - 16.46) MB+2.1%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+1.1%✅⬆️
.NET 6 - Bailout
process.internal_duration_ms191.79 ± (191.43 - 192.15) ms191.11 ± (190.86 - 191.36) ms-0.4%
process.time_to_main_ms71.30 ± (71.18 - 71.41) ms71.21 ± (71.11 - 71.30) ms-0.1%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.24 ± (16.12 - 16.36) MB16.09 ± (15.94 - 16.24) MB-0.9%
runtime.dotnet.threads.count20 ± (20 - 20)19 ± (19 - 19)-3.6%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms451.52 ± (449.66 - 453.37) ms451.66 ± (449.97 - 453.36) ms+0.0%✅⬆️
process.time_to_main_ms449.44 ± (448.80 - 450.09) ms449.36 ± (448.87 - 449.86) ms-0.0%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed57.98 ± (57.84 - 58.11) MB58.03 ± (57.90 - 58.16) MB+0.1%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.0%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms190.63 ± (190.34 - 190.93) ms190.36 ± (190.08 - 190.64) ms-0.1%
process.time_to_main_ms69.98 ± (69.78 - 70.18) ms69.90 ± (69.71 - 70.10) ms-0.1%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.73 ± (11.70 - 11.75) MB11.75 ± (11.72 - 11.77) MB+0.2%✅⬆️
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)-0.1%
.NET 8 - Bailout
process.internal_duration_ms189.31 ± (189.04 - 189.57) ms190.18 ± (189.89 - 190.47) ms+0.5%✅⬆️
process.time_to_main_ms70.96 ± (70.84 - 71.08) ms71.14 ± (71.00 - 71.27) ms+0.3%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.84 ± (11.81 - 11.87) MB11.77 ± (11.75 - 11.80) MB-0.6%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.4%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms365.12 ± (363.73 - 366.51) ms365.88 ± (364.53 - 367.23) ms+0.2%✅⬆️
process.time_to_main_ms435.14 ± (434.33 - 435.96) ms435.22 ± (434.63 - 435.81) ms+0.0%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed47.75 ± (47.72 - 47.78) MB47.81 ± (47.78 - 47.85) MB+0.1%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.3%✅⬆️
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 (8206) - mean (75ms)  : 73, 78
    master - mean (74ms)  : 72, 75

    section Bailout
    This PR (8206) - mean (80ms)  : 78, 81
    master - mean (79ms)  : 77, 80

    section CallTarget+Inlining+NGEN
    This PR (8206) - mean (1,084ms)  : 1038, 1130
    master - mean (1,069ms)  : 1022, 1117

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 (8206) - mean (116ms)  : 113, 120
    master - mean (114ms)  : 111, 117

    section Bailout
    This PR (8206) - mean (117ms)  : 115, 120
    master - mean (115ms)  : 113, 118

    section CallTarget+Inlining+NGEN
    This PR (8206) - mean (762ms)  : 697, 828
    master - mean (767ms)  : 707, 826

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8206) - mean (104ms)  : 101, 107
    master - mean (101ms)  : 98, 104

    section Bailout
    This PR (8206) - mean (105ms)  : 104, 107
    master - mean (102ms)  : 99, 105

    section CallTarget+Inlining+NGEN
    This PR (8206) - mean (760ms)  : 694, 827
    master - mean (755ms)  : 702, 809

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8206) - mean (103ms)  : 100, 106
    master - mean (101ms)  : 98, 103

    section Bailout
    This PR (8206) - mean (104ms)  : 102, 106
    master - mean (102ms)  : 99, 104

    section CallTarget+Inlining+NGEN
    This PR (8206) - mean (674ms)  : 658, 689
    master - mean (665ms)  : 649, 681

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 (8206) - mean (194ms)  : 189, 198
    master - mean (194ms)  : 190, 198

    section Bailout
    This PR (8206) - mean (198ms)  : 195, 200
    master - mean (197ms)  : 194, 199

    section CallTarget+Inlining+NGEN
    This PR (8206) - mean (1,151ms)  : 1097, 1206
    master - mean (1,142ms)  : 1091, 1193

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 (8206) - mean (277ms)  : 273, 282
    master - mean (278ms)  : 273, 282

    section Bailout
    This PR (8206) - mean (278ms)  : 272, 284
    master - mean (279ms)  : 275, 283

    section CallTarget+Inlining+NGEN
    This PR (8206) - mean (944ms)  : 899, 989
    master - mean (940ms)  : 885, 995

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8206) - mean (271ms)  : 266, 277
    master - mean (271ms)  : 265, 277

    section Bailout
    This PR (8206) - mean (270ms)  : 267, 274
    master - mean (271ms)  : 267, 276

    section CallTarget+Inlining+NGEN
    This PR (8206) - mean (930ms)  : 909, 951
    master - mean (930ms)  : 912, 948

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8206) - mean (270ms)  : 265, 275
    master - mean (271ms)  : 266, 276

    section Bailout
    This PR (8206) - mean (271ms)  : 267, 275
    master - mean (270ms)  : 266, 273

    section CallTarget+Inlining+NGEN
    This PR (8206) - mean (832ms)  : 805, 859
    master - mean (831ms)  : 814, 848

Loading

@anna-git anna-git force-pushed the anna/config-registry-only-one-yaml branch 2 times, most recently from 28f8bb4 to c6b0b1f Compare February 19, 2026 15:40
@anna-git anna-git marked this pull request as ready for review February 19, 2026 16:20
@anna-git anna-git requested review from a team as code owners February 19, 2026 16:20
@lucaspimentel
Copy link
Member

The PR description says tracer/src/Datadog.Trace/Configuration/supported-configurations.json was removed but it was just updated.

Also, not a blocker (I can do it later), but do you mind updating the references in AGENTS.md? Thanks!

dd-trace-dotnet/AGENTS.md

Lines 401 to 403 in 8941a2d

📖 **Load when**: Need reference for tracer configuration settings and environment variables
- **`tracer/src/Datadog.Trace/Configuration/supported-configurations-docs.yaml`** — Human-readable descriptions and default values for all `DD_*` environment variables
- **`tracer/src/Datadog.Trace/Configuration/supported-configurations.json`** — Machine-readable config metadata: product categorization, key aliases, and deprecations (consumed by source generators)

Copy link
Member

@lucaspimentel lucaspimentel left a comment

Choose a reason for hiding this comment

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

Nice. Really liking all this automation.

@lucaspimentel
Copy link
Member

@codex review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c6b0b1f568

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +45 to +48
// Skip comments
if (trimmedLine.StartsWith("#", StringComparison.Ordinal))
{
continue;

Choose a reason for hiding this comment

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

P3 Badge Do not treat # as comment inside docs blocks

YamlReader.ParseSupportedConfigurations skips any line whose trimmed text starts with # before checking parser state, so lines like # Heading inside a valid documentation: |- block are dropped from the generated XML docs. This is a regression from the previous YAML-doc parser behavior and will silently strip documentation content whenever markdown headings (or other hash-prefixed text) are added to supported-configurations.yaml.

Useful? React with 👍 / 👎.

@anna-git
Copy link
Contributor Author

anna-git commented Feb 19, 2026

The PR description says tracer/src/Datadog.Trace/Configuration/supported-configurations.json was removed but it was just updated.

Also, not a blocker (I can do it later), but do you mind updating the references in AGENTS.md? Thanks!

dd-trace-dotnet/AGENTS.md

Lines 401 to 403 in 8941a2d

📖 **Load when**: Need reference for tracer configuration settings and environment variables
- **`tracer/src/Datadog.Trace/Configuration/supported-configurations-docs.yaml`** — Human-readable descriptions and default values for all `DD_*` environment variables
- **`tracer/src/Datadog.Trace/Configuration/supported-configurations.json`** — Machine-readable config metadata: product categorization, key aliases, and deprecations (consumed by source generators)

thank you good catch @lucaspimentel !!!
The file was meant to be deleted as we only have one file now, I deleted it, updated docs here: 130566c

@anna-git anna-git force-pushed the anna/config-registry-only-one-yaml branch from 160e1dd to 130566c Compare February 19, 2026 19:52
/// <summary>
/// Controls how often remote configuration is polled, in seconds. Values must be greater than 0 and no more than 5
/// </summary>
public const string PollIntervalInternal = "DD_INTERNAL_RCM_POLL_INTERVAL";
Copy link
Contributor

Choose a reason for hiding this comment

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

FYI: It seems like we don't actually read the environment variable DD_INTERNAL_RCM_POLL_INTERVAL anymore. Should/can we remove it?

/// <summary>
/// The _DD_EXTENSION_ENDPOINT isn't a standard, globally recognized AWS environment variable or service, but likely refers to a custom or specific endpoint for a DataDog (DD) integration/extension within AWS, often used in Lambda functions or containerized apps via ECS/Fargate to send metrics/logs to Datadog's services (Agent/API), especially when using Datadog's AWS integrations or extensions for seamless observability
/// </summary>
public const string ExtensionEndpoint = "_DD_EXTENSION_ENDPOINT";
Copy link
Contributor

Choose a reason for hiding this comment

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

Not required for this PR to be submitted, but @lucaspimentel do you have an idea of a better description for this? This descriptions seems like an AI result that's not sure of the actual purpose

Copy link
Contributor

@zacharycmontoya zacharycmontoya left a comment

Choose a reason for hiding this comment

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

LGTM with some small comments for configuration updates

@anna-git anna-git force-pushed the anna/config-registry-only-one-yaml branch from 3a9c738 to 514b73d Compare February 20, 2026 15:19
@anna-git anna-git force-pushed the anna/config-registry-only-one-yaml branch from 514b73d to 347ac59 Compare February 20, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants