[Config Registry] feat: migrate supported-configurations to V2 format#8183
[Config Registry] feat: migrate supported-configurations to V2 format#8183
Conversation
BenchmarksBenchmark execution time: 2026-02-13 14:29:26 Comparing candidate commit d6bf7b2 in PR branch 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
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs netcoreapp3.1
scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest net472
scenario:Benchmarks.Trace.AspNetCoreBenchmark.SendRequest net6.0
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net472
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces netcoreapp3.1
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net6.0
scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch net6.0
scenario:Benchmarks.Trace.ILoggerBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.RedisBenchmark.SendReceive netcoreapp3.1
scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore net472
scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore netcoreapp3.1
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope net6.0
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan netcoreapp3.1
|
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8183) and master.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Baseline | ||||
| duration | 199.32 ± (199.16 - 200.29) ms | 215.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 | ||||
| duration | 69.28 ± (69.34 - 69.62) ms | 69.10 ± (69.16 - 69.41) ms | -0.3% | ✅ |
| .NET Framework 4.8 - Bailout | ||||
| duration | 73.20 ± (73.06 - 73.32) ms | 73.36 ± (73.20 - 73.46) ms | +0.2% | ✅⬆️ |
| .NET Framework 4.8 - CallTarget+Inlining+NGEN | ||||
| duration | 1033.40 ± (1036.10 - 1043.54) ms | 1037.21 ± (1041.83 - 1049.51) ms | +0.4% | ✅⬆️ |
| .NET Core 3.1 - Baseline | ||||
| process.internal_duration_ms | 22.32 ± (22.29 - 22.35) ms | 22.34 ± (22.30 - 22.37) ms | +0.1% | ✅⬆️ |
| process.time_to_main_ms | 86.87 ± (86.70 - 87.05) ms | 87.59 ± (87.44 - 87.74) ms | +0.8% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 15.47 ± (15.47 - 15.47) MB | 15.49 ± (15.49 - 15.49) MB | +0.1% | ✅⬆️ |
| runtime.dotnet.threads.count | 12 ± (12 - 12) | 12 ± (12 - 12) | +0.0% | ✅ |
| .NET Core 3.1 - Bailout | ||||
| process.internal_duration_ms | 22.30 ± (22.27 - 22.33) ms | 22.26 ± (22.22 - 22.29) ms | -0.2% | ✅ |
| process.time_to_main_ms | 88.31 ± (88.11 - 88.51) ms | 88.69 ± (88.54 - 88.84) ms | +0.4% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 15.51 ± (15.51 - 15.52) MB | 15.51 ± (15.50 - 15.51) MB | -0.0% | ✅ |
| runtime.dotnet.threads.count | 13 ± (13 - 13) | 13 ± (13 - 13) | +0.0% | ✅ |
| .NET Core 3.1 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 254.81 ± (251.20 - 258.43) ms | 263.30 ± (260.72 - 265.89) ms | +3.3% | ✅⬆️ |
| process.time_to_main_ms | 491.47 ± (490.77 - 492.16) ms | 494.72 ± (494.14 - 495.31) ms | +0.7% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 52.11 ± (52.09 - 52.13) MB | 52.16 ± (52.14 - 52.18) MB | +0.1% | ✅⬆️ |
| runtime.dotnet.threads.count | 28 ± (28 - 28) | 28 ± (28 - 28) | +0.0% | ✅ |
| .NET 6 - Baseline | ||||
| process.internal_duration_ms | 21.05 ± (21.03 - 21.08) ms | 21.07 ± (21.05 - 21.10) ms | +0.1% | ✅⬆️ |
| process.time_to_main_ms | 75.47 ± (75.32 - 75.63) ms | 75.49 ± (75.35 - 75.62) ms | +0.0% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 15.17 ± (15.16 - 15.17) MB | 15.20 ± (15.20 - 15.20) MB | +0.2% | ✅⬆️ |
| runtime.dotnet.threads.count | 10 ± (10 - 10) | 10 ± (10 - 10) | +0.0% | ✅ |
| .NET 6 - Bailout | ||||
| process.internal_duration_ms | 20.90 ± (20.88 - 20.92) ms | 20.97 ± (20.94 - 20.99) ms | +0.3% | ✅⬆️ |
| process.time_to_main_ms | 76.11 ± (76.01 - 76.21) ms | 76.81 ± (76.70 - 76.93) ms | +0.9% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 15.29 ± (15.28 - 15.29) MB | 15.32 ± (15.32 - 15.32) MB | +0.2% | ✅⬆️ |
| runtime.dotnet.threads.count | 11 ± (11 - 11) | 11 ± (11 - 11) | +0.0% | ✅ |
| .NET 6 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 257.89 ± (257.09 - 258.70) ms | 258.98 ± (257.97 - 259.98) ms | +0.4% | ✅⬆️ |
| process.time_to_main_ms | 472.80 ± (472.11 - 473.50) ms | 473.43 ± (472.71 - 474.15) ms | +0.1% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 53.03 ± (53.01 - 53.06) MB | 52.93 ± (52.90 - 52.96) MB | -0.2% | ✅ |
| runtime.dotnet.threads.count | 28 ± (28 - 28) | 28 ± (28 - 28) | -0.0% | ✅ |
| .NET 8 - Baseline | ||||
| process.internal_duration_ms | 18.96 ± (18.94 - 18.99) ms | 18.99 ± (18.96 - 19.03) ms | +0.2% | ✅⬆️ |
| process.time_to_main_ms | 68.22 ± (68.10 - 68.33) ms | 68.67 ± (68.53 - 68.80) ms | +0.7% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 7.67 ± (7.66 - 7.68) MB | 7.70 ± (7.69 - 7.71) MB | +0.4% | ✅⬆️ |
| runtime.dotnet.threads.count | 10 ± (10 - 10) | 10 ± (10 - 10) | +0.0% | ✅ |
| .NET 8 - Bailout | ||||
| process.internal_duration_ms | 18.99 ± (18.95 - 19.02) ms | 19.03 ± (19.00 - 19.06) ms | +0.2% | ✅⬆️ |
| process.time_to_main_ms | 69.34 ± (69.25 - 69.44) ms | 69.84 ± (69.73 - 69.94) ms | +0.7% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 7.73 ± (7.72 - 7.73) MB | 7.75 ± (7.74 - 7.76) MB | +0.3% | ✅⬆️ |
| runtime.dotnet.threads.count | 11 ± (11 - 11) | 11 ± (11 - 11) | +0.0% | ✅ |
| .NET 8 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 177.94 ± (177.09 - 178.79) ms | 178.98 ± (178.31 - 179.65) ms | +0.6% | ✅⬆️ |
| process.time_to_main_ms | 429.11 ± (428.38 - 429.83) ms | 431.09 ± (430.52 - 431.66) ms | +0.5% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 35.88 ± (35.85 - 35.92) MB | 36.01 ± (35.99 - 36.04) MB | +0.4% | ✅⬆️ |
| runtime.dotnet.threads.count | 27 ± (27 - 27) | 27 ± (27 - 27) | +0.0% | ✅⬆️ |
HttpMessageHandler
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Baseline | ||||
| duration | 199.32 ± (199.16 - 200.29) ms | 215.05 ± (216.02 - 219.29) ms | +7.9% | ❌⬆️ |
| .NET Framework 4.8 - Bailout | ||||
| duration | 203.08 ± (202.90 - 203.91) ms | 211.54 ± (212.16 - 214.58) ms | +4.2% | ✅⬆️ |
| .NET Framework 4.8 - CallTarget+Inlining+NGEN | ||||
| duration | 1162.82 ± (1160.25 - 1168.17) ms | 1209.67 ± (1209.01 - 1218.22) ms | +4.0% | ✅⬆️ |
| .NET Core 3.1 - Baseline | ||||
| process.internal_duration_ms | 199.26 ± (198.67 - 199.85) ms | 211.40 ± (210.08 - 212.72) ms | +6.1% | ✅⬆️ |
| process.time_to_main_ms | 91.81 ± (91.50 - 92.12) ms | 97.16 ± (96.59 - 97.73) ms | +5.8% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 20.57 ± (20.55 - 20.59) MB | 20.41 ± (20.39 - 20.43) MB | -0.8% | ✅ |
| runtime.dotnet.threads.count | 20 ± (20 - 20) | 20 ± (20 - 20) | -0.2% | ✅ |
| .NET Core 3.1 - Bailout | ||||
| process.internal_duration_ms | 197.90 ± (197.38 - 198.41) ms | 209.26 ± (208.07 - 210.44) ms | +5.7% | ✅⬆️ |
| process.time_to_main_ms | 92.31 ± (92.10 - 92.53) ms | 97.19 ± (96.63 - 97.74) ms | +5.3% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 20.72 ± (20.70 - 20.73) MB | 20.55 ± (20.53 - 20.57) MB | -0.8% | ✅ |
| runtime.dotnet.threads.count | 21 ± (21 - 21) | 21 ± (21 - 21) | +1.5% | ✅⬆️ |
| .NET Core 3.1 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 440.44 ± (436.92 - 443.96) ms | 464.95 ± (461.52 - 468.38) ms | +5.6% | ✅⬆️ |
| process.time_to_main_ms | 512.80 ± (511.91 - 513.68) ms | 532.24 ± (530.19 - 534.29) ms | +3.8% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 62.53 ± (62.41 - 62.65) MB | 61.56 ± (61.40 - 61.73) MB | -1.5% | ✅ |
| runtime.dotnet.threads.count | 29 ± (29 - 30) | 30 ± (29 - 30) | +0.2% | ✅⬆️ |
| .NET 6 - Baseline | ||||
| process.internal_duration_ms | 198.02 ± (197.54 - 198.51) ms | 205.13 ± (204.12 - 206.14) ms | +3.6% | ✅⬆️ |
| process.time_to_main_ms | 72.08 ± (71.89 - 72.27) ms | 75.16 ± (74.70 - 75.62) ms | +4.3% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.32 ± (16.30 - 16.34) MB | 16.23 ± (16.21 - 16.25) MB | -0.6% | ✅ |
| runtime.dotnet.threads.count | 19 ± (19 - 19) | 19 ± (19 - 19) | +1.3% | ✅⬆️ |
| .NET 6 - Bailout | ||||
| process.internal_duration_ms | 197.33 ± (196.83 - 197.82) ms | 205.31 ± (204.27 - 206.35) ms | +4.0% | ✅⬆️ |
| process.time_to_main_ms | 73.07 ± (72.90 - 73.24) ms | 76.23 ± (75.84 - 76.62) ms | +4.3% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.35 ± (16.33 - 16.37) MB | 16.25 ± (16.23 - 16.27) MB | -0.6% | ✅ |
| runtime.dotnet.threads.count | 20 ± (20 - 20) | 20 ± (20 - 20) | +0.8% | ✅⬆️ |
| .NET 6 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 450.13 ± (446.91 - 453.35) ms | 468.80 ± (464.81 - 472.79) ms | +4.1% | ✅⬆️ |
| process.time_to_main_ms | 459.39 ± (458.61 - 460.16) ms | 478.74 ± (477.15 - 480.32) ms | +4.2% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 57.88 ± (57.75 - 58.00) MB | 57.49 ± (57.32 - 57.65) MB | -0.7% | ✅ |
| runtime.dotnet.threads.count | 29 ± (29 - 29) | 30 ± (30 - 30) | +0.5% | ✅⬆️ |
| .NET 8 - Baseline | ||||
| process.internal_duration_ms | 198.60 ± (198.14 - 199.06) ms | 210.90 ± (209.67 - 212.13) ms | +6.2% | ✅⬆️ |
| process.time_to_main_ms | 77.29 ± (77.07 - 77.52) ms | 81.46 ± (80.96 - 81.95) ms | +5.4% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.27 ± (16.25 - 16.29) MB | 16.07 ± (16.05 - 16.09) MB | -1.2% | ✅ |
| runtime.dotnet.threads.count | 19 ± (19 - 19) | 19 ± (19 - 19) | +0.6% | ✅⬆️ |
| .NET 8 - Bailout | ||||
| process.internal_duration_ms | 199.57 ± (199.07 - 200.06) ms | 206.32 ± (205.26 - 207.38) ms | +3.4% | ✅⬆️ |
| process.time_to_main_ms | 78.91 ± (78.71 - 79.12) ms | 81.50 ± (81.09 - 81.90) ms | +3.3% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.29 ± (16.27 - 16.30) MB | 16.18 ± (16.16 - 16.20) MB | -0.7% | ✅ |
| runtime.dotnet.threads.count | 20 ± (20 - 20) | 20 ± (20 - 20) | +0.5% | ✅⬆️ |
| .NET 8 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 379.37 ± (377.86 - 380.89) ms | 495.80 ± (491.71 - 499.90) ms | +30.7% | ✅⬆️ |
| process.time_to_main_ms | 465.59 ± (464.92 - 466.26) ms | 478.15 ± (477.06 - 479.24) ms | +2.7% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 52.28 ± (52.25 - 52.32) MB | 54.38 ± (54.35 - 54.41) MB | +4.0% | ✅⬆️ |
| runtime.dotnet.threads.count | 29 ± (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
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
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
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
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
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
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
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
anna-git
left a comment
There was a problem hiding this comment.
Nice work 👏!!!
Just left a few comments and nits on the generators
tracer/src/Datadog.Trace.SourceGenerators/Configuration/ConfigKeyAliasesSwitcherGenerator.cs
Outdated
Show resolved
Hide resolved
tracer/src/Datadog.Trace.SourceGenerators/Configuration/ConfigurationKeysGenerator.cs
Outdated
Show resolved
Hide resolved
tracer/src/Datadog.Trace.SourceGenerators/Configuration/ConfigurationKeysGenerator.cs
Outdated
Show resolved
Hide resolved
| } | ||
|
|
||
| // Extract the product field if it exists | ||
| // Extract the product field (first non-empty product in the implementations, if any) |
There was a problem hiding this comment.
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)
There was a problem hiding this comment.
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 😅
andrewlock
left a comment
There was a problem hiding this comment.
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 | |||
There was a problem hiding this comment.
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!, |
There was a problem hiding this comment.
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 😅
There was a problem hiding this comment.
I've changed this to handle properly null
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