-
Notifications
You must be signed in to change notification settings - Fork 142
fix(transport/ecn): downgrade validation result from warn to info #3033
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
Conversation
Around 65% of Firefox QUIC connections have an ECN capable path. Conversely 35% of ECN validations fail. Logging an expected validation failure on warn level is too noisy. Thus downgrading the log level to info instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR downgrades ECN validation failure log levels from warning to info to reduce log noise, since 35% of ECN validations are expected to fail on Firefox QUIC connections.
- Removes the unused
qwarn
import from neqo_common - Changes three ECN validation failure log statements from
qwarn!
toqinfo!
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3033 +/- ##
==========================================
- Coverage 93.39% 93.35% -0.04%
==========================================
Files 123 123
Lines 35884 35884
Branches 35884 35884
==========================================
- Hits 33514 33500 -14
- Misses 1528 1541 +13
- Partials 842 843 +1
|
Client/server transfer resultsPerformance differences relative to 9c920d0. Transfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.
Download data for |
Benchmark resultsPerformance differences relative to 9c920d0. 1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client: No change in performance detected.time: [201.80 ms 202.32 ms 202.95 ms] thrpt: [492.73 MiB/s 494.27 MiB/s 495.53 MiB/s] change: time: [−0.3804% −0.0183% +0.3080%] (p = 0.92 > 0.05) thrpt: [−0.3071% +0.0183% +0.3819%] 1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client: Change within noise threshold.time: [298.39 ms 299.92 ms 301.45 ms] thrpt: [33.173 Kelem/s 33.342 Kelem/s 33.513 Kelem/s] change: time: [+0.2105% +0.9880% +1.7513%] (p = 0.01 < 0.05) thrpt: [−1.7212% −0.9783% −0.2101%] 1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client: No change in performance detected.time: [28.495 ms 28.590 ms 28.706 ms] thrpt: [34.836 B/s 34.978 B/s 35.094 B/s] change: time: [−0.1423% +0.3239% +0.8141%] (p = 0.18 > 0.05) thrpt: [−0.8075% −0.3229% +0.1425%] 1-conn/1-100mb-req/mtu-1504 (aka. Upload)/client: 💔 Performance has regressed.time: [211.94 ms 212.21 ms 212.52 ms] thrpt: [470.55 MiB/s 471.24 MiB/s 471.82 MiB/s] change: time: [+1.1016% +1.3311% +1.5553%] (p = 0.00 < 0.05) thrpt: [−1.5315% −1.3136% −1.0896%] decode 4096 bytes, mask ff: No change in performance detected.time: [11.602 µs 11.631 µs 11.667 µs] change: [−1.3184% −0.1790% +0.8795%] (p = 0.78 > 0.05) decode 1048576 bytes, mask ff: No change in performance detected.time: [3.0220 ms 3.0357 ms 3.0532 ms] change: [−1.0661% −0.0352% +0.8482%] (p = 0.95 > 0.05) decode 4096 bytes, mask 7f: No change in performance detected.time: [19.947 µs 20.009 µs 20.081 µs] change: [−0.6614% −0.1677% +0.2926%] (p = 0.50 > 0.05) decode 1048576 bytes, mask 7f: No change in performance detected.time: [5.0362 ms 5.0474 ms 5.0603 ms] change: [−0.8765% −0.2024% +0.3239%] (p = 0.56 > 0.05) decode 4096 bytes, mask 3f: No change in performance detected.time: [8.2665 µs 8.2894 µs 8.3192 µs] change: [−0.1137% +0.8690% +2.4769%] (p = 0.17 > 0.05) decode 1048576 bytes, mask 3f: No change in performance detected.time: [1.5881 ms 1.5950 ms 1.6033 ms] change: [−0.4261% +0.1872% +0.8025%] (p = 0.56 > 0.05) 1-streams/each-1000-bytes/wallclock-time: No change in performance detected.time: [591.61 µs 593.80 µs 596.27 µs] change: [−0.0082% +0.5763% +1.1694%] (p = 0.06 > 0.05) 1000-streams/each-1-bytes/wallclock-time: Change within noise threshold.time: [13.946 ms 13.972 ms 13.998 ms] change: [−0.5527% −0.3006% −0.0518%] (p = 0.03 < 0.05) 1000-streams/each-1-bytes/simulated-time: No change in performance detected.time: [14.993 s 15.006 s 15.019 s] thrpt: [66.582 B/s 66.641 B/s 66.698 B/s] change: time: [−0.1407% −0.0183% +0.1078%] (p = 0.78 > 0.05) thrpt: [−0.1076% +0.0183% +0.1409%] 1000-streams/each-1000-bytes/wallclock-time: No change in performance detected.time: [49.537 ms 49.764 ms 50.029 ms] change: [−0.7375% −0.1196% +0.5794%] (p = 0.73 > 0.05) coalesce_acked_from_zero 1+1 entries: No change in performance detected.time: [88.577 ns 88.938 ns 89.299 ns] change: [−0.1565% +0.7300% +1.7041%] (p = 0.14 > 0.05) coalesce_acked_from_zero 3+1 entries: No change in performance detected.time: [106.20 ns 106.50 ns 106.81 ns] change: [−0.3735% +0.1900% +0.8495%] (p = 0.55 > 0.05) coalesce_acked_from_zero 10+1 entries: No change in performance detected.time: [105.61 ns 106.14 ns 106.76 ns] change: [−1.4481% −0.6429% +0.0577%] (p = 0.11 > 0.05) coalesce_acked_from_zero 1000+1 entries: No change in performance detected.time: [88.966 ns 89.106 ns 89.269 ns] change: [−7.6008% −2.5922% +0.5937%] (p = 0.34 > 0.05) RxStreamOrderer::inbound_frame(): Change within noise threshold.time: [109.73 ms 109.87 ms 110.07 ms] change: [−0.8797% −0.6956% −0.4802%] (p = 0.00 < 0.05) sent::Packets::take_ranges: No change in performance detected.time: [4.5120 µs 4.6066 µs 4.6945 µs] change: [−2.9039% −0.2086% +2.5414%] (p = 0.89 > 0.05) transfer/pacing-false/varying-seeds/wallclock-time/run: No change in performance detected.time: [26.445 ms 26.486 ms 26.529 ms] change: [−0.3578% −0.1075% +0.1343%] (p = 0.39 > 0.05) transfer/pacing-false/varying-seeds/simulated-time/run: No change in performance detected.time: [25.120 s 25.154 s 25.189 s] thrpt: [162.61 KiB/s 162.83 KiB/s 163.06 KiB/s] change: time: [−0.2650% −0.0640% +0.1339%] (p = 0.51 > 0.05) thrpt: [−0.1337% +0.0641% +0.2657%] transfer/pacing-true/varying-seeds/wallclock-time/run: Change within noise threshold.time: [26.822 ms 26.898 ms 26.983 ms] change: [−1.2303% −0.8332% −0.4533%] (p = 0.00 < 0.05) transfer/pacing-true/varying-seeds/simulated-time/run: No change in performance detected.time: [24.919 s 24.959 s 24.999 s] thrpt: [163.85 KiB/s 164.11 KiB/s 164.37 KiB/s] change: time: [−0.3064% −0.0922% +0.1296%] (p = 0.41 > 0.05) thrpt: [−0.1294% +0.0923% +0.3074%] transfer/pacing-false/same-seed/wallclock-time/run: Change within noise threshold.time: [26.925 ms 26.948 ms 26.971 ms] change: [+0.3194% +0.4226% +0.5292%] (p = 0.00 < 0.05) transfer/pacing-false/same-seed/simulated-time/run: No change in performance detected.time: [25.710 s 25.710 s 25.710 s] thrpt: [159.31 KiB/s 159.31 KiB/s 159.31 KiB/s] change: time: [+0.0000% +0.0000% +0.0000%] (p = NaN > 0.05) thrpt: [+0.0000% +0.0000% +0.0000%] transfer/pacing-true/same-seed/wallclock-time/run: Change within noise threshold.time: [27.947 ms 27.966 ms 27.986 ms] change: [−0.6158% −0.5086% −0.4035%] (p = 0.00 < 0.05) transfer/pacing-true/same-seed/simulated-time/run: No change in performance detected.time: [25.675 s 25.675 s 25.675 s] thrpt: [159.53 KiB/s 159.53 KiB/s 159.53 KiB/s] change: time: [+0.0000% +0.0000% +0.0000%] (p = NaN > 0.05) thrpt: [+0.0000% +0.0000% +0.0000%] Download data for |
|
Branch | ecn-info |
Testbed | On-prem |
🚨 2 Alerts
Benchmark | Measure Units | View | Benchmark Result (Result Δ%) | Upper Boundary (Limit %) |
---|---|---|---|---|
transfer/pacing-false/same-seed/simulated-time/run | Latency seconds (s) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 25.71 s(+2.17%)Baseline: 25.16 s | 25.35 s (101.43%) |
transfer/pacing-true/same-seed/simulated-time/run | Latency seconds (s) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 25.68 s(+0.33%)Baseline: 25.59 s | 25.62 s (100.22%) |
Click to view all benchmark results
Benchmark | Latency | Benchmark Result nanoseconds (ns) (Result Δ%) | Upper Boundary nanoseconds (ns) (Limit %) |
---|---|---|---|
1-conn/1-100mb-req/mtu-1504 (aka. Upload)/client | 📈 view plot 🚷 view threshold | 212,210,000.00 ns(+1.04%)Baseline: 210,021,600.00 ns | 217,291,598.08 ns (97.66%) |
1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client | 📈 view plot 🚷 view threshold | 202,320,000.00 ns(-0.86%)Baseline: 204,082,733.33 ns | 212,273,537.15 ns (95.31%) |
1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client | 📈 view plot 🚷 view threshold | 28,590,000.00 ns(+0.66%)Baseline: 28,401,233.33 ns | 28,887,366.30 ns (98.97%) |
1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client | 📈 view plot 🚷 view threshold | 299,920,000.00 ns(+1.32%)Baseline: 296,011,066.67 ns | 305,199,859.33 ns (98.27%) |
1-streams/each-1000-bytes/simulated-time | 📈 view plot 🚷 view threshold | 119,010,000.00 ns(+0.70%)Baseline: 118,181,466.67 ns | 120,863,474.92 ns (98.47%) |
1-streams/each-1000-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 593,800.00 ns(-1.09%)Baseline: 600,350.60 ns | 624,146.10 ns (95.14%) |
1000-streams/each-1-bytes/simulated-time | 📈 view plot 🚷 view threshold | 15,006,000,000.00 ns(+0.10%)Baseline: 14,991,320,000.00 ns | 15,010,078,756.35 ns (99.97%) |
1000-streams/each-1-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 13,972,000.00 ns(-2.35%)Baseline: 14,308,313.33 ns | 14,936,405.04 ns (93.54%) |
1000-streams/each-1000-bytes/simulated-time | 📈 view plot 🚷 view threshold | 19,004,000,000.00 ns(+0.62%)Baseline: 18,886,886,666.67 ns | 19,100,791,793.25 ns (99.49%) |
1000-streams/each-1000-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 49,764,000.00 ns(-5.81%)Baseline: 52,831,573.33 ns | 59,050,095.31 ns (84.27%) |
RxStreamOrderer::inbound_frame() | 📈 view plot 🚷 view threshold | 109,870,000.00 ns(-0.09%)Baseline: 109,971,666.67 ns | 112,110,012.67 ns (98.00%) |
coalesce_acked_from_zero 1+1 entries | 📈 view plot 🚷 view threshold | 88.94 ns(+0.32%)Baseline: 88.66 ns | 89.32 ns (99.57%) |
coalesce_acked_from_zero 10+1 entries | 📈 view plot 🚷 view threshold | 106.14 ns(-0.00%)Baseline: 106.14 ns | 107.11 ns (99.10%) |
coalesce_acked_from_zero 1000+1 entries | 📈 view plot 🚷 view threshold | 89.11 ns(-0.84%)Baseline: 89.86 ns | 94.49 ns (94.30%) |
coalesce_acked_from_zero 3+1 entries | 📈 view plot 🚷 view threshold | 106.50 ns(-0.14%)Baseline: 106.65 ns | 107.59 ns (98.98%) |
decode 1048576 bytes, mask 3f | 📈 view plot 🚷 view threshold | 1,595,000.00 ns(+0.15%)Baseline: 1,592,670.00 ns | 1,599,975.36 ns (99.69%) |
decode 1048576 bytes, mask 7f | 📈 view plot 🚷 view threshold | 5,047,400.00 ns(-0.18%)Baseline: 5,056,399.33 ns | 5,075,795.24 ns (99.44%) |
decode 1048576 bytes, mask ff | 📈 view plot 🚷 view threshold | 3,035,700.00 ns(+0.13%)Baseline: 3,031,626.67 ns | 3,043,700.39 ns (99.74%) |
decode 4096 bytes, mask 3f | 📈 view plot 🚷 view threshold | 8,289.40 ns(-0.09%)Baseline: 8,296.56 ns | 8,343.93 ns (99.35%) |
decode 4096 bytes, mask 7f | 📈 view plot 🚷 view threshold | 20,009.00 ns(+0.01%)Baseline: 20,006.00 ns | 20,087.35 ns (99.61%) |
decode 4096 bytes, mask ff | 📈 view plot 🚷 view threshold | 11,631.00 ns(-1.01%)Baseline: 11,749.11 ns | 11,994.00 ns (96.97%) |
sent::Packets::take_ranges | 📈 view plot 🚷 view threshold | 4,606.60 ns(-3.12%)Baseline: 4,754.73 ns | 4,998.31 ns (92.16%) |
transfer/pacing-false/same-seed/simulated-time/run | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 25,710,000,000.00 ns(+2.17%)Baseline: 25,163,310,810.81 ns | 25,348,259,478.24 ns (101.43%) |
transfer/pacing-false/same-seed/wallclock-time/run | 📈 view plot 🚷 view threshold | 26,948,000.00 ns(+3.13%)Baseline: 26,129,810.81 ns | 27,003,974.42 ns (99.79%) |
transfer/pacing-false/varying-seeds/simulated-time/run | 📈 view plot 🚷 view threshold | 25,154,000,000.00 ns(-0.04%)Baseline: 25,164,479,729.73 ns | 25,208,384,749.63 ns (99.78%) |
transfer/pacing-false/varying-seeds/wallclock-time/run | 📈 view plot 🚷 view threshold | 26,486,000.00 ns(+0.08%)Baseline: 26,465,493.24 ns | 27,227,931.28 ns (97.28%) |
transfer/pacing-true/same-seed/simulated-time/run | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 25,675,000,000.00 ns(+0.33%)Baseline: 25,589,763,513.51 ns | 25,618,599,596.07 ns (100.22%) |
transfer/pacing-true/same-seed/wallclock-time/run | 📈 view plot 🚷 view threshold | 27,966,000.00 ns(+1.19%)Baseline: 27,636,655.41 ns | 28,508,778.05 ns (98.10%) |
transfer/pacing-true/varying-seeds/simulated-time/run | 📈 view plot 🚷 view threshold | 24,959,000,000.00 ns(-0.14%)Baseline: 24,994,006,756.76 ns | 25,044,409,278.51 ns (99.66%) |
transfer/pacing-true/varying-seeds/wallclock-time/run | 📈 view plot 🚷 view threshold | 26,898,000.00 ns(-0.39%)Baseline: 27,002,506.76 ns | 27,759,595.24 ns (96.90%) |
Failed Interop TestsQUIC Interop Runner, client vs. server, differences relative to 9c920d0. neqo-latest as client
neqo-latest as server
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
|
Around 65% of Firefox QUIC connections have an ECN capable path. Conversely 35% of ECN validations fail. Logging an expected validation failure on warn level is too noisy. Thus downgrading the log level to info instead.