Skip to content

[Config Registry] feat: migrate supported-configurations to V2 format#8183

Merged
genesor merged 11 commits intomasterfrom
ben.db/supported-conf-v2
Feb 13, 2026
Merged

[Config Registry] feat: migrate supported-configurations to V2 format#8183
genesor merged 11 commits intomasterfrom
ben.db/supported-conf-v2

Conversation

@genesor
Copy link
Member

@genesor genesor commented Feb 10, 2026

Summary of changes

Migrate the file used to power config registry to V2 format (default and type fields)

Reason for change

The registry needs more data to validate the configurations

Implementation details

Test coverage

Other details

@pr-commenter
Copy link

pr-commenter bot commented Feb 10, 2026

Benchmarks

Benchmark execution time: 2026-02-13 14:29:26

Comparing candidate commit d6bf7b2 in PR branch ben.db/supported-conf-v2 with baseline commit 9d1dcc7 in branch master.

Found 12 performance improvements and 6 performance regressions! Performance is the same for 158 metrics, 16 unstable metrics.

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

  • 🟩 execution_time [-81.075ms; -80.366ms] or [-39.830%; -39.482%]

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

  • 🟩 execution_time [-22.218ms; -16.061ms] or [-10.330%; -7.467%]

scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs netcoreapp3.1

  • 🟩 execution_time [-18.628ms; -17.864ms] or [-9.318%; -8.936%]

scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest net472

  • 🟩 throughput [+64367574.469op/s; +65260578.011op/s] or [+46.701%; +47.349%]

scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest net6.0

  • 🟥 execution_time [+54.049ms; +56.273ms] or [+58.326%; +60.726%]

scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net472

  • 🟥 throughput [-104.921op/s; -85.077op/s] or [-9.136%; -7.408%]

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

  • 🟩 execution_time [-35.273ms; -34.389ms] or [-18.813%; -18.342%]
  • 🟩 throughput [+117.415op/s; +125.372op/s] or [+8.093%; +8.642%]

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

  • 🟩 execution_time [-154.304µs; -145.990µs] or [-10.137%; -9.591%]
  • 🟩 throughput [+69.817op/s; +73.998op/s] or [+10.627%; +11.264%]

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

  • 🟥 execution_time [+10.188ms; +14.897ms] or [+5.159%; +7.542%]

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

  • 🟥 execution_time [+11.501ms; +16.891ms] or [+5.852%; +8.594%]

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

  • 🟩 execution_time [-37.182ms; -33.071ms] or [-18.410%; -16.375%]

scenario:Benchmarks.Trace.RedisBenchmark.SendReceive netcoreapp3.1

  • 🟩 execution_time [-15.510ms; -10.936ms] or [-7.443%; -5.248%]

scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore net472

  • 🟩 throughput [+64696947.330op/s; +65345156.849op/s] or [+47.011%; +47.482%]

scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore netcoreapp3.1

  • 🟥 throughput [-15824399.274op/s; -14529933.206op/s] or [-6.571%; -6.033%]

scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope net6.0

  • 🟥 throughput [-90818.444op/s; -62725.121op/s] or [-8.245%; -5.694%]

scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan netcoreapp3.1

  • 🟩 execution_time [-18.114ms; -12.696ms] or [-8.455%; -5.926%]

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

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

Execution-Time Benchmarks Report ⏱️

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

⚠️ Potential regressions detected

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration199.32 ± (199.16 - 200.29) ms215.05 ± (216.02 - 219.29) ms+7.9%❌⬆️
Full Metrics Comparison

FakeDbCommand

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration69.28 ± (69.34 - 69.62) ms69.10 ± (69.16 - 69.41) ms-0.3%
.NET Framework 4.8 - Bailout
duration73.20 ± (73.06 - 73.32) ms73.36 ± (73.20 - 73.46) ms+0.2%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1033.40 ± (1036.10 - 1043.54) ms1037.21 ± (1041.83 - 1049.51) ms+0.4%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms22.32 ± (22.29 - 22.35) ms22.34 ± (22.30 - 22.37) ms+0.1%✅⬆️
process.time_to_main_ms86.87 ± (86.70 - 87.05) ms87.59 ± (87.44 - 87.74) ms+0.8%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed15.47 ± (15.47 - 15.47) MB15.49 ± (15.49 - 15.49) MB+0.1%✅⬆️
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms22.30 ± (22.27 - 22.33) ms22.26 ± (22.22 - 22.29) ms-0.2%
process.time_to_main_ms88.31 ± (88.11 - 88.51) ms88.69 ± (88.54 - 88.84) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed15.51 ± (15.51 - 15.52) MB15.51 ± (15.50 - 15.51) 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.81 ± (251.20 - 258.43) ms263.30 ± (260.72 - 265.89) ms+3.3%✅⬆️
process.time_to_main_ms491.47 ± (490.77 - 492.16) ms494.72 ± (494.14 - 495.31) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed52.11 ± (52.09 - 52.13) MB52.16 ± (52.14 - 52.18) MB+0.1%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%
.NET 6 - Baseline
process.internal_duration_ms21.05 ± (21.03 - 21.08) ms21.07 ± (21.05 - 21.10) ms+0.1%✅⬆️
process.time_to_main_ms75.47 ± (75.32 - 75.63) ms75.49 ± (75.35 - 75.62) ms+0.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed15.17 ± (15.16 - 15.17) MB15.20 ± (15.20 - 15.20) MB+0.2%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms20.90 ± (20.88 - 20.92) ms20.97 ± (20.94 - 20.99) ms+0.3%✅⬆️
process.time_to_main_ms76.11 ± (76.01 - 76.21) ms76.81 ± (76.70 - 76.93) ms+0.9%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed15.29 ± (15.28 - 15.29) MB15.32 ± (15.32 - 15.32) MB+0.2%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms257.89 ± (257.09 - 258.70) ms258.98 ± (257.97 - 259.98) ms+0.4%✅⬆️
process.time_to_main_ms472.80 ± (472.11 - 473.50) ms473.43 ± (472.71 - 474.15) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed53.03 ± (53.01 - 53.06) MB52.93 ± (52.90 - 52.96) MB-0.2%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.0%
.NET 8 - Baseline
process.internal_duration_ms18.96 ± (18.94 - 18.99) ms18.99 ± (18.96 - 19.03) ms+0.2%✅⬆️
process.time_to_main_ms68.22 ± (68.10 - 68.33) ms68.67 ± (68.53 - 68.80) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.67 ± (7.66 - 7.68) MB7.70 ± (7.69 - 7.71) MB+0.4%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms18.99 ± (18.95 - 19.02) ms19.03 ± (19.00 - 19.06) ms+0.2%✅⬆️
process.time_to_main_ms69.34 ± (69.25 - 69.44) ms69.84 ± (69.73 - 69.94) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.73 ± (7.72 - 7.73) MB7.75 ± (7.74 - 7.76) MB+0.3%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms177.94 ± (177.09 - 178.79) ms178.98 ± (178.31 - 179.65) ms+0.6%✅⬆️
process.time_to_main_ms429.11 ± (428.38 - 429.83) ms431.09 ± (430.52 - 431.66) ms+0.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed35.88 ± (35.85 - 35.92) MB36.01 ± (35.99 - 36.04) 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
duration199.32 ± (199.16 - 200.29) ms215.05 ± (216.02 - 219.29) ms+7.9%❌⬆️
.NET Framework 4.8 - Bailout
duration203.08 ± (202.90 - 203.91) ms211.54 ± (212.16 - 214.58) ms+4.2%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1162.82 ± (1160.25 - 1168.17) ms1209.67 ± (1209.01 - 1218.22) ms+4.0%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms199.26 ± (198.67 - 199.85) ms211.40 ± (210.08 - 212.72) ms+6.1%✅⬆️
process.time_to_main_ms91.81 ± (91.50 - 92.12) ms97.16 ± (96.59 - 97.73) ms+5.8%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed20.57 ± (20.55 - 20.59) MB20.41 ± (20.39 - 20.43) MB-0.8%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)-0.2%
.NET Core 3.1 - Bailout
process.internal_duration_ms197.90 ± (197.38 - 198.41) ms209.26 ± (208.07 - 210.44) ms+5.7%✅⬆️
process.time_to_main_ms92.31 ± (92.10 - 92.53) ms97.19 ± (96.63 - 97.74) ms+5.3%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed20.72 ± (20.70 - 20.73) MB20.55 ± (20.53 - 20.57) MB-0.8%
runtime.dotnet.threads.count21 ± (21 - 21)21 ± (21 - 21)+1.5%✅⬆️
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms440.44 ± (436.92 - 443.96) ms464.95 ± (461.52 - 468.38) ms+5.6%✅⬆️
process.time_to_main_ms512.80 ± (511.91 - 513.68) ms532.24 ± (530.19 - 534.29) ms+3.8%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed62.53 ± (62.41 - 62.65) MB61.56 ± (61.40 - 61.73) MB-1.5%
runtime.dotnet.threads.count29 ± (29 - 30)30 ± (29 - 30)+0.2%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms198.02 ± (197.54 - 198.51) ms205.13 ± (204.12 - 206.14) ms+3.6%✅⬆️
process.time_to_main_ms72.08 ± (71.89 - 72.27) ms75.16 ± (74.70 - 75.62) ms+4.3%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.32 ± (16.30 - 16.34) MB16.23 ± (16.21 - 16.25) MB-0.6%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+1.3%✅⬆️
.NET 6 - Bailout
process.internal_duration_ms197.33 ± (196.83 - 197.82) ms205.31 ± (204.27 - 206.35) ms+4.0%✅⬆️
process.time_to_main_ms73.07 ± (72.90 - 73.24) ms76.23 ± (75.84 - 76.62) ms+4.3%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.35 ± (16.33 - 16.37) MB16.25 ± (16.23 - 16.27) MB-0.6%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)+0.8%✅⬆️
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms450.13 ± (446.91 - 453.35) ms468.80 ± (464.81 - 472.79) ms+4.1%✅⬆️
process.time_to_main_ms459.39 ± (458.61 - 460.16) ms478.74 ± (477.15 - 480.32) ms+4.2%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed57.88 ± (57.75 - 58.00) MB57.49 ± (57.32 - 57.65) MB-0.7%
runtime.dotnet.threads.count29 ± (29 - 29)30 ± (30 - 30)+0.5%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms198.60 ± (198.14 - 199.06) ms210.90 ± (209.67 - 212.13) ms+6.2%✅⬆️
process.time_to_main_ms77.29 ± (77.07 - 77.52) ms81.46 ± (80.96 - 81.95) ms+5.4%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.27 ± (16.25 - 16.29) MB16.07 ± (16.05 - 16.09) MB-1.2%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.6%✅⬆️
.NET 8 - Bailout
process.internal_duration_ms199.57 ± (199.07 - 200.06) ms206.32 ± (205.26 - 207.38) ms+3.4%✅⬆️
process.time_to_main_ms78.91 ± (78.71 - 79.12) ms81.50 ± (81.09 - 81.90) ms+3.3%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.29 ± (16.27 - 16.30) MB16.18 ± (16.16 - 16.20) MB-0.7%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)+0.5%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms379.37 ± (377.86 - 380.89) ms495.80 ± (491.71 - 499.90) ms+30.7%✅⬆️
process.time_to_main_ms465.59 ± (464.92 - 466.26) ms478.15 ± (477.06 - 479.24) ms+2.7%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed52.28 ± (52.25 - 52.32) MB54.38 ± (54.35 - 54.41) MB+4.0%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.8%✅⬆️
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 (8183) - mean (69ms)  : 67, 71
    master - mean (69ms)  : 67, 72

    section Bailout
    This PR (8183) - mean (73ms)  : 72, 75
    master - mean (73ms)  : 72, 75

    section CallTarget+Inlining+NGEN
    This PR (8183) - mean (1,046ms)  : 989, 1102
    master - mean (1,040ms)  : 986, 1093

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 (8183) - mean (116ms)  : 114, 119
    master - mean (115ms)  : 113, 118

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

    section CallTarget+Inlining+NGEN
    This PR (8183) - mean (795ms)  : 752, 838
    master - mean (772ms)  : 717, 826

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8183) - mean (102ms)  : 100, 105
    master - mean (102ms)  : 99, 105

    section Bailout
    This PR (8183) - mean (103ms)  : 102, 105
    master - mean (103ms)  : 101, 104

    section CallTarget+Inlining+NGEN
    This PR (8183) - mean (772ms)  : 747, 796
    master - mean (758ms)  : 739, 778

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8183) - mean (94ms)  : 91, 98
    master - mean (94ms)  : 91, 96

    section Bailout
    This PR (8183) - mean (96ms)  : 94, 97
    master - mean (95ms)  : 93, 96

    section CallTarget+Inlining+NGEN
    This PR (8183) - mean (638ms)  : 622, 653
    master - mean (635ms)  : 620, 651

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 (8183) - mean (218ms)  : 192, 243
    master - mean (200ms)  : 191, 208

    section Bailout
    This PR (8183) - mean (213ms)  : 196, 231
    master - mean (203ms)  : 196, 211

    section CallTarget+Inlining+NGEN
    This PR (8183) - mean (1,214ms)  : 1143, 1284
    master - mean (1,164ms)  : 1105, 1223

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 (8183) - mean (322ms)  : 290, 353
    master - mean (301ms)  : 287, 315

    section Bailout
    This PR (8183) - mean (319ms)  : crit, 292, 347
    master - mean (300ms)  : 290, 310

    section CallTarget+Inlining+NGEN
    This PR (8183) - mean (1,034ms)  : 979, 1089
    master - mean (987ms)  : 927, 1046

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8183) - mean (293ms)  : 266, 319
    master - mean (279ms)  : 269, 289

    section Bailout
    This PR (8183) - mean (295ms)  : 266, 323
    master - mean (279ms)  : 269, 289

    section CallTarget+Inlining+NGEN
    This PR (8183) - mean (982ms)  : 934, 1031
    master - mean (937ms)  : 888, 987

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (8183) - mean (307ms)  : 278, 336
    master - mean (286ms)  : 277, 296

    section Bailout
    This PR (8183) - mean (301ms)  : 280, 323
    master - mean (289ms)  : 280, 298

    section CallTarget+Inlining+NGEN
    This PR (8183) - mean (1,007ms)  : crit, 944, 1069
    master - mean (879ms)  : 851, 907

Loading

@genesor genesor marked this pull request as ready for review February 10, 2026 23:25
@genesor genesor requested review from a team as code owners February 10, 2026 23:25
@anna-git anna-git self-requested a review February 11, 2026 10:27
@anna-git anna-git changed the title feat: migrate supported-configurations to V2 format [Config Registry] feat: migrate supported-configurations to V2 format Feb 11, 2026
Copy link
Contributor

@anna-git anna-git left a comment

Choose a reason for hiding this comment

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

Nice work 👏!!!
Just left a few comments and nits on the generators

}

// Extract the product field if it exists
// Extract the product field (first non-empty product in the implementations, if any)
Copy link
Contributor

Choose a reason for hiding this comment

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

this is a bit funny, I'm thinking that product would never change among implementations... but I guess the schema, with arrays for each key, doesn't really allow "head" properties... (just food for thought)

Copy link
Member Author

Choose a reason for hiding this comment

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

Yup having an array directly under the key is not ideal for this kind of thing. I guess someday (hopefully not soon) we will have a v3 😅

@genesor genesor requested a review from anna-git February 12, 2026 23:38
Copy link
Contributor

@anna-git anna-git left a comment

Choose a reason for hiding this comment

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

LGTM thanks!

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.

As long as the tests pass, and there's no change in the generated code, this LGTM 👍

@@ -1,4 +1,4 @@
# DO NOT EDIT THIS FILE MANUALLY
# DO NOT EDIT THIS FILE MANUALLY
Copy link
Member

Choose a reason for hiding this comment

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

👀 😅

Copy link
Member Author

@genesor genesor Feb 13, 2026

Choose a reason for hiding this comment

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

I don't really want to handle two PRs in parallel one being automatically generated and mine using the updated file 😅

This file is updated automatically when clicking (manually) on a gitlab step on libdatadog build

return new Result<string>(
string.Empty,
return new Result<ConfigurationAliases>(
null!,
Copy link
Member

Choose a reason for hiding this comment

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

nit: having to use ! is generally a sign that your nullability expectations/attributes are wrong 🙂 In this case, your method signature should be be returning Result<ConfigurationAliases?> if it could be null

EDIT: I just noticed the original code was doing that too, ah well 😅

Copy link
Member Author

Choose a reason for hiding this comment

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

I've changed this to handle properly null

@genesor genesor merged commit 34cec39 into master Feb 13, 2026
142 checks passed
@genesor genesor deleted the ben.db/supported-conf-v2 branch February 13, 2026 15:46
@github-actions github-actions bot added this to the vNext-v3 milestone Feb 13, 2026
@andrewlock andrewlock added the area:builds project files, build scripts, pipelines, versioning, releases, packages label Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:builds project files, build scripts, pipelines, versioning, releases, packages area:configuration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants