Fix incorrect use of namespace breaking the build#8192
Conversation
BenchmarksBenchmark execution time: 2026-02-11 16:33:22 Comparing candidate commit 5f31451 in PR branch Found 10 performance improvements and 6 performance regressions! Performance is the same for 157 metrics, 19 unstable metrics. scenario:Benchmarks.Trace.ActivityBenchmark.StartStopWithChild netcoreapp3.1
scenario:Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs netcoreapp3.1
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net6.0
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net472
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice netcoreapp3.1
scenario:Benchmarks.Trace.HttpClientBenchmark.SendAsync net6.0
scenario:Benchmarks.Trace.ILoggerBenchmark.EnrichedLog net6.0
scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog netcoreapp3.1
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishScope netcoreapp3.1
scenario:Benchmarks.Trace.SpanBenchmark.StartFinishSpan net6.0
scenario:Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin net6.0
|
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8192) and master.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Baseline | ||||
| duration | 72.66 ± (72.76 - 73.22) ms | 79.01 ± (78.90 - 79.37) ms | +8.7% | ❌⬆️ |
HttpMessageHandler
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Bailout | ||||
| duration | 205.18 ± (205.01 - 205.97) ms | 216.80 ± (218.40 - 221.82) ms | +5.7% | ❌⬆️ |
Full Metrics Comparison
FakeDbCommand
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Baseline | ||||
| duration | 72.66 ± (72.76 - 73.22) ms | 79.01 ± (78.90 - 79.37) ms | +8.7% | ❌⬆️ |
| .NET Framework 4.8 - Bailout | ||||
| duration | 77.74 ± (77.47 - 78.02) ms | 80.44 ± (80.18 - 80.88) ms | +3.5% | ✅⬆️ |
| .NET Framework 4.8 - CallTarget+Inlining+NGEN | ||||
| duration | 1051.44 ± (1052.16 - 1059.45) ms | 1081.15 ± (1078.09 - 1085.10) ms | +2.8% | ✅⬆️ |
| .NET Core 3.1 - Baseline | ||||
| process.internal_duration_ms | 22.83 ± (22.78 - 22.88) ms | 23.50 ± (23.44 - 23.56) ms | +2.9% | ✅⬆️ |
| process.time_to_main_ms | 90.10 ± (89.88 - 90.32) ms | 95.02 ± (94.74 - 95.31) ms | +5.5% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 15.46 ± (15.46 - 15.47) MB | 15.49 ± (15.49 - 15.49) MB | +0.2% | ✅⬆️ |
| runtime.dotnet.threads.count | 12 ± (12 - 12) | 12 ± (12 - 12) | +0.0% | ✅ |
| .NET Core 3.1 - Bailout | ||||
| process.internal_duration_ms | 22.74 ± (22.70 - 22.78) ms | 23.42 ± (23.36 - 23.48) ms | +3.0% | ✅⬆️ |
| process.time_to_main_ms | 91.51 ± (91.33 - 91.70) ms | 96.95 ± (96.63 - 97.27) ms | +5.9% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 15.52 ± (15.52 - 15.53) MB | 15.51 ± (15.51 - 15.52) 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 | 265.12 ± (261.76 - 268.49) ms | 267.97 ± (265.00 - 270.94) ms | +1.1% | ✅⬆️ |
| process.time_to_main_ms | 515.85 ± (514.90 - 516.80) ms | 519.90 ± (518.85 - 520.95) ms | +0.8% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 53.14 ± (53.12 - 53.17) MB | 52.13 ± (52.11 - 52.16) MB | -1.9% | ✅ |
| runtime.dotnet.threads.count | 28 ± (28 - 28) | 28 ± (28 - 28) | +0.0% | ✅ |
| .NET 6 - Baseline | ||||
| process.internal_duration_ms | 21.32 ± (21.28 - 21.36) ms | 22.15 ± (22.09 - 22.22) ms | +3.9% | ✅⬆️ |
| process.time_to_main_ms | 77.77 ± (77.57 - 77.97) ms | 82.53 ± (82.23 - 82.84) ms | +6.1% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 15.18 ± (15.17 - 15.18) MB | 15.17 ± (15.17 - 15.17) MB | -0.1% | ✅ |
| runtime.dotnet.threads.count | 10 ± (10 - 10) | 10 ± (10 - 10) | +0.0% | ✅ |
| .NET 6 - Bailout | ||||
| process.internal_duration_ms | 21.37 ± (21.33 - 21.41) ms | 22.05 ± (21.99 - 22.11) ms | +3.2% | ✅⬆️ |
| process.time_to_main_ms | 79.48 ± (79.27 - 79.69) ms | 83.41 ± (83.13 - 83.69) ms | +4.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.29 ± (15.28 - 15.29) MB | +0.0% | ✅⬆️ |
| runtime.dotnet.threads.count | 11 ± (11 - 11) | 11 ± (11 - 11) | +0.0% | ✅ |
| .NET 6 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 264.60 ± (263.35 - 265.85) ms | 270.84 ± (269.77 - 271.91) ms | +2.4% | ✅⬆️ |
| process.time_to_main_ms | 497.10 ± (495.88 - 498.33) ms | 495.02 ± (493.70 - 496.34) ms | -0.4% | ✅ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 53.89 ± (53.87 - 53.91) MB | 52.93 ± (52.91 - 52.95) MB | -1.8% | ✅ |
| runtime.dotnet.threads.count | 28 ± (28 - 28) | 28 ± (28 - 28) | +0.0% | ✅⬆️ |
| .NET 8 - Baseline | ||||
| process.internal_duration_ms | 19.20 ± (19.18 - 19.23) ms | 19.41 ± (19.38 - 19.45) ms | +1.1% | ✅⬆️ |
| process.time_to_main_ms | 70.91 ± (70.80 - 71.03) ms | 71.75 ± (71.58 - 71.92) ms | +1.2% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 7.68 ± (7.67 - 7.69) MB | 7.67 ± (7.67 - 7.68) MB | -0.1% | ✅ |
| runtime.dotnet.threads.count | 10 ± (10 - 10) | 10 ± (10 - 10) | +0.0% | ✅ |
| .NET 8 - Bailout | ||||
| process.internal_duration_ms | 19.32 ± (19.28 - 19.37) ms | 19.66 ± (19.61 - 19.71) ms | +1.8% | ✅⬆️ |
| process.time_to_main_ms | 72.44 ± (72.30 - 72.59) ms | 73.99 ± (73.75 - 74.22) ms | +2.1% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 7.73 ± (7.72 - 7.74) MB | 7.74 ± (7.73 - 7.74) MB | +0.0% | ✅⬆️ |
| runtime.dotnet.threads.count | 11 ± (11 - 11) | 11 ± (11 - 11) | +0.0% | ✅ |
| .NET 8 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 185.71 ± (184.71 - 186.71) ms | 189.28 ± (188.51 - 190.05) ms | +1.9% | ✅⬆️ |
| process.time_to_main_ms | 449.70 ± (448.68 - 450.73) ms | 452.12 ± (450.94 - 453.30) ms | +0.5% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 36.72 ± (36.68 - 36.76) MB | 36.03 ± (36.00 - 36.05) MB | -1.9% | ✅ |
| runtime.dotnet.threads.count | 27 ± (27 - 27) | 27 ± (27 - 27) | -0.3% | ✅ |
HttpMessageHandler
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Baseline | ||||
| duration | 200.29 ± (200.14 - 201.24) ms | 210.12 ± (210.88 - 213.14) ms | +4.9% | ✅⬆️ |
| .NET Framework 4.8 - Bailout | ||||
| duration | 205.18 ± (205.01 - 205.97) ms | 216.80 ± (218.40 - 221.82) ms | +5.7% | ❌⬆️ |
| .NET Framework 4.8 - CallTarget+Inlining+NGEN | ||||
| duration | 1164.88 ± (1165.99 - 1174.89) ms | 1214.12 ± (1212.34 - 1220.65) ms | +4.2% | ✅⬆️ |
| .NET Core 3.1 - Baseline | ||||
| process.internal_duration_ms | 201.50 ± (200.84 - 202.16) ms | 206.50 ± (205.49 - 207.52) ms | +2.5% | ✅⬆️ |
| process.time_to_main_ms | 92.35 ± (92.03 - 92.67) ms | 94.54 ± (94.05 - 95.03) ms | +2.4% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 20.58 ± (20.57 - 20.60) MB | 20.48 ± (20.46 - 20.50) MB | -0.5% | ✅ |
| runtime.dotnet.threads.count | 20 ± (20 - 20) | 20 ± (20 - 20) | +1.1% | ✅⬆️ |
| .NET Core 3.1 - Bailout | ||||
| process.internal_duration_ms | 200.03 ± (199.54 - 200.53) ms | 203.85 ± (203.11 - 204.58) ms | +1.9% | ✅⬆️ |
| process.time_to_main_ms | 93.09 ± (92.80 - 93.38) ms | 94.96 ± (94.56 - 95.35) ms | +2.0% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 20.64 ± (20.63 - 20.66) MB | 20.52 ± (20.50 - 20.53) MB | -0.6% | ✅ |
| runtime.dotnet.threads.count | 21 ± (21 - 21) | 21 ± (21 - 21) | -0.4% | ✅ |
| .NET Core 3.1 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 451.49 ± (449.07 - 453.90) ms | 452.77 ± (449.70 - 455.84) ms | +0.3% | ✅⬆️ |
| process.time_to_main_ms | 522.05 ± (521.24 - 522.87) ms | 525.65 ± (524.37 - 526.93) ms | +0.7% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 63.23 ± (63.11 - 63.34) MB | 62.29 ± (62.16 - 62.43) MB | -1.5% | ✅ |
| runtime.dotnet.threads.count | 29 ± (29 - 29) | 29 ± (29 - 29) | +0.1% | ✅⬆️ |
| .NET 6 - Baseline | ||||
| process.internal_duration_ms | 200.96 ± (200.43 - 201.50) ms | 205.40 ± (204.50 - 206.29) ms | +2.2% | ✅⬆️ |
| process.time_to_main_ms | 73.17 ± (72.94 - 73.39) ms | 74.93 ± (74.55 - 75.32) ms | +2.4% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.27 ± (16.26 - 16.29) MB | 16.25 ± (16.23 - 16.27) MB | -0.2% | ✅ |
| runtime.dotnet.threads.count | 19 ± (19 - 19) | 19 ± (19 - 19) | -0.3% | ✅ |
| .NET 6 - Bailout | ||||
| process.internal_duration_ms | 199.68 ± (199.19 - 200.16) ms | 206.11 ± (205.09 - 207.12) ms | +3.2% | ✅⬆️ |
| process.time_to_main_ms | 73.99 ± (73.79 - 74.19) ms | 76.40 ± (75.99 - 76.81) ms | +3.3% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.33 ± (16.30 - 16.35) MB | 16.27 ± (16.25 - 16.28) MB | -0.4% | ✅ |
| runtime.dotnet.threads.count | 20 ± (20 - 20) | 20 ± (20 - 20) | -0.1% | ✅ |
| .NET 6 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 450.37 ± (446.86 - 453.89) ms | 472.29 ± (468.70 - 475.89) ms | +4.9% | ✅⬆️ |
| process.time_to_main_ms | 469.39 ± (468.67 - 470.10) ms | 473.01 ± (471.83 - 474.20) ms | +0.8% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 58.69 ± (58.54 - 58.84) MB | 57.47 ± (57.32 - 57.62) MB | -2.1% | ✅ |
| runtime.dotnet.threads.count | 29 ± (29 - 29) | 30 ± (30 - 30) | +0.8% | ✅⬆️ |
| .NET 8 - Baseline | ||||
| process.internal_duration_ms | 201.55 ± (200.97 - 202.14) ms | 210.45 ± (209.55 - 211.35) ms | +4.4% | ✅⬆️ |
| process.time_to_main_ms | 78.12 ± (77.89 - 78.35) ms | 81.95 ± (81.49 - 82.41) ms | +4.9% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.18 ± (16.17 - 16.20) MB | 16.06 ± (16.05 - 16.08) MB | -0.7% | ✅ |
| runtime.dotnet.threads.count | 19 ± (19 - 19) | 19 ± (19 - 19) | +0.6% | ✅⬆️ |
| .NET 8 - Bailout | ||||
| process.internal_duration_ms | 203.15 ± (202.63 - 203.68) ms | 210.33 ± (209.34 - 211.33) ms | +3.5% | ✅⬆️ |
| process.time_to_main_ms | 80.07 ± (79.86 - 80.29) ms | 83.06 ± (82.63 - 83.48) ms | +3.7% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.22 ± (16.21 - 16.24) MB | 16.16 ± (16.14 - 16.18) MB | -0.4% | ✅ |
| runtime.dotnet.threads.count | 20 ± (20 - 20) | 20 ± (20 - 20) | +0.5% | ✅⬆️ |
| .NET 8 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 387.97 ± (383.77 - 392.17) ms | 491.29 ± (484.49 - 498.08) ms | +26.6% | ✅⬆️ |
| process.time_to_main_ms | 480.19 ± (479.44 - 480.93) ms | 484.39 ± (483.36 - 485.43) ms | +0.9% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 53.41 ± (53.26 - 53.55) MB | 54.23 ± (54.19 - 54.27) MB | +1.5% | ✅⬆️ |
| runtime.dotnet.threads.count | 29 ± (29 - 29) | 29 ± (28 - 29) | -1.5% | ✅ |
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 (8192) - mean (79ms) : 76, 83
master - mean (73ms) : 70, 76
section Bailout
This PR (8192) - mean (81ms) : 75, 86
master - mean (78ms) : 74, 82
section CallTarget+Inlining+NGEN
This PR (8192) - mean (1,082ms) : 1029, 1134
master - mean (1,056ms) : 1004, 1107
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 (8192) - mean (126ms) : 120, 133
master - mean (120ms) : 116, 124
section Bailout
This PR (8192) - mean (128ms) : 121, 135
master - mean (121ms) : 119, 124
section CallTarget+Inlining+NGEN
This PR (8192) - mean (823ms) : 771, 876
master - mean (809ms) : 749, 869
FakeDbCommand (.NET 6)
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8192) - mean (112ms) : 106, 117
master - mean (105ms) : 101, 110
section Bailout
This PR (8192) - mean (112ms) : 107, 118
master - mean (107ms) : 103, 112
section CallTarget+Inlining+NGEN
This PR (8192) - mean (801ms) : 764, 838
master - mean (798ms) : 756, 840
FakeDbCommand (.NET 8)
gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8192) - mean (99ms) : 96, 102
master - mean (98ms) : 94, 101
section Bailout
This PR (8192) - mean (101ms) : 96, 107
master - mean (99ms) : 97, 101
section CallTarget+Inlining+NGEN
This PR (8192) - mean (676ms) : 637, 715
master - mean (664ms) : 647, 680
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 (8192) - mean (212ms) : 196, 228
master - mean (201ms) : 192, 209
section Bailout
This PR (8192) - mean (220ms) : crit, 194, 246
master - mean (205ms) : 199, 212
section CallTarget+Inlining+NGEN
This PR (8192) - mean (1,216ms) : 1157, 1276
master - mean (1,170ms) : 1104, 1237
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 (8192) - mean (312ms) : 292, 333
master - mean (304ms) : 290, 317
section Bailout
This PR (8192) - mean (310ms) : 292, 328
master - mean (303ms) : 292, 314
section CallTarget+Inlining+NGEN
This PR (8192) - mean (1,012ms) : 965, 1058
master - mean (1,003ms) : 958, 1048
HttpMessageHandler (.NET 6)
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8192) - mean (291ms) : 272, 309
master - mean (284ms) : 270, 298
section Bailout
This PR (8192) - mean (292ms) : 272, 313
master - mean (282ms) : 274, 291
section CallTarget+Inlining+NGEN
This PR (8192) - mean (975ms) : 916, 1033
master - mean (950ms) : 890, 1009
HttpMessageHandler (.NET 8)
gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8192) - mean (306ms) : 282, 330
master - mean (290ms) : 278, 303
section Bailout
This PR (8192) - mean (308ms) : 282, 334
master - mean (294ms) : 281, 306
section CallTarget+Inlining+NGEN
This PR (8192) - mean (1,008ms) : crit, 910, 1106
master - mean (904ms) : 832, 977
Summary of changes
Fixes the broken build
Reason for change
#6726 was merged but needed a rebase, so this slipped in
Implementation details
Don't use the non-existent "vendored" attributes. Always use the real ones
Test coverage
If the build passes, we're good