Skip to content
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

chore: Factor out packet logging #2396

Merged
merged 10 commits into from
Jan 31, 2025

Conversation

larseggert
Copy link
Collaborator

Because output_path and input_path are getting long, and there is a lot of redundancy between the calls to dump and qlog.

Because `output_path` and `input_path` are getting long, and there is a lot of redundancy between the calls to `dump` and `qlog`.
Copy link

codecov bot commented Jan 29, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.31%. Comparing base (379722c) to head (b68b67b).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2396      +/-   ##
==========================================
- Coverage   95.32%   95.31%   -0.02%     
==========================================
  Files         114      114              
  Lines       36868    36869       +1     
  Branches    36868    36869       +1     
==========================================
- Hits        35146    35142       -4     
- Misses       1718     1721       +3     
- Partials        4        6       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

github-actions bot commented Jan 29, 2025

Failed Interop Tests

QUIC Interop Runner, client vs. server, differences relative to 108fb8d.

neqo-latest as client

neqo-latest as server

All results

Succeeded Interop Tests

QUIC Interop Runner, client vs. server

neqo-latest as client

neqo-latest as server

Unsupported Interop Tests

QUIC Interop Runner, client vs. server

neqo-latest as client

neqo-latest as server

Copy link

github-actions bot commented Jan 29, 2025

Benchmark results

Performance differences relative to 379722c.

decode 4096 bytes, mask ff: No change in performance detected.
       time:   [11.842 µs 11.874 µs 11.913 µs]
       change: [-1.0257% -0.3394% +0.2150%] (p = 0.32 > 0.05)

Found 16 outliers among 100 measurements (16.00%)
4 (4.00%) low mild
2 (2.00%) high mild
10 (10.00%) high severe

decode 1048576 bytes, mask ff: Change within noise threshold.
       time:   [2.8857 ms 2.9051 ms 2.9375 ms]
       change: [-1.7783% -0.9797% +0.1794%] (p = 0.04 < 0.05)

Found 12 outliers among 100 measurements (12.00%)
1 (1.00%) low mild
1 (1.00%) high mild
10 (10.00%) high severe

decode 4096 bytes, mask 7f: No change in performance detected.
       time:   [19.751 µs 19.794 µs 19.844 µs]
       change: [-0.7755% -0.3633% +0.0027%] (p = 0.07 > 0.05)

Found 19 outliers among 100 measurements (19.00%)
3 (3.00%) low severe
6 (6.00%) low mild
10 (10.00%) high severe

decode 1048576 bytes, mask 7f: Change within noise threshold.
       time:   [5.0756 ms 5.0986 ms 5.1321 ms]
       change: [+0.1739% +0.7222% +1.4896%] (p = 0.02 < 0.05)

Found 18 outliers among 100 measurements (18.00%)
18 (18.00%) high severe

decode 4096 bytes, mask 3f: No change in performance detected.
       time:   [6.8973 µs 6.9228 µs 6.9553 µs]
       change: [-1.7430% -0.5042% +0.3699%] (p = 0.42 > 0.05)

Found 18 outliers among 100 measurements (18.00%)
7 (7.00%) low mild
2 (2.00%) high mild
9 (9.00%) high severe

decode 1048576 bytes, mask 3f: No change in performance detected.
       time:   [1.4156 ms 1.4212 ms 1.4281 ms]
       change: [-0.3678% +0.2176% +0.8099%] (p = 0.47 > 0.05)

Found 6 outliers among 100 measurements (6.00%)
6 (6.00%) high severe

coalesce_acked_from_zero 1+1 entries: Change within noise threshold.
       time:   [99.418 ns 99.762 ns 100.11 ns]
       change: [+0.6515% +1.0636% +1.5500%] (p = 0.00 < 0.05)

Found 16 outliers among 100 measurements (16.00%)
13 (13.00%) high mild
3 (3.00%) high severe

coalesce_acked_from_zero 3+1 entries: No change in performance detected.
       time:   [117.91 ns 118.33 ns 118.76 ns]
       change: [-0.6676% +0.4076% +1.1736%] (p = 0.46 > 0.05)

Found 20 outliers among 100 measurements (20.00%)
2 (2.00%) low mild
1 (1.00%) high mild
17 (17.00%) high severe

coalesce_acked_from_zero 10+1 entries: No change in performance detected.
       time:   [117.07 ns 117.42 ns 117.89 ns]
       change: [+0.0660% +1.1616% +2.8324%] (p = 0.12 > 0.05)

Found 11 outliers among 100 measurements (11.00%)
3 (3.00%) low severe
4 (4.00%) high mild
4 (4.00%) high severe

coalesce_acked_from_zero 1000+1 entries: Change within noise threshold.
       time:   [98.421 ns 98.606 ns 98.811 ns]
       change: [+0.0273% +1.2609% +2.4845%] (p = 0.03 < 0.05)

Found 11 outliers among 100 measurements (11.00%)
4 (4.00%) high mild
7 (7.00%) high severe

RxStreamOrderer::inbound_frame(): Change within noise threshold.
       time:   [111.64 ms 111.77 ms 111.99 ms]
       change: [+0.2833% +0.4189% +0.6468%] (p = 0.00 < 0.05)

Found 13 outliers among 100 measurements (13.00%)
9 (9.00%) low mild
3 (3.00%) high mild
1 (1.00%) high severe

SentPackets::take_ranges: No change in performance detected.
       time:   [5.3813 µs 5.4697 µs 5.5567 µs]
       change: [-15.816% -4.7378% +3.0213%] (p = 0.58 > 0.05)

Found 4 outliers among 100 measurements (4.00%)
4 (4.00%) high mild

transfer/pacing-false/varying-seeds: 💚 Performance has improved.
       time:   [41.453 ms 41.528 ms 41.603 ms]
       change: [-4.5507% -4.3007% -4.0545%] (p = 0.00 < 0.05)

Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) low mild
1 (1.00%) high mild

transfer/pacing-true/varying-seeds: 💚 Performance has improved.
       time:   [41.529 ms 41.617 ms 41.714 ms]
       change: [-4.0958% -3.7875% -3.4786%] (p = 0.00 < 0.05)

Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe

transfer/pacing-false/same-seed: 💚 Performance has improved.
       time:   [40.938 ms 41.019 ms 41.099 ms]
       change: [-5.3732% -5.0927% -4.8264%] (p = 0.00 < 0.05)

Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) low mild

transfer/pacing-true/same-seed: 💚 Performance has improved.
       time:   [41.505 ms 41.574 ms 41.644 ms]
       change: [-5.1437% -4.9078% -4.6773%] (p = 0.00 < 0.05)

Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
3 (3.00%) high mild

1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client: Change within noise threshold.
       time:   [895.11 ms 907.57 ms 920.14 ms]
       thrpt:  [108.68 MiB/s 110.18 MiB/s 111.72 MiB/s]
change:
       time:   [-3.3071% -1.6969% +0.1013%] (p = 0.04 < 0.05)
       thrpt:  [-0.1012% +1.7262% +3.4202%]
1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client: Change within noise threshold.
       time:   [315.02 ms 317.27 ms 319.59 ms]
       thrpt:  [31.290 Kelem/s 31.519 Kelem/s 31.745 Kelem/s]
change:
       time:   [-2.0966% -1.1148% -0.1641%] (p = 0.03 < 0.05)
       thrpt:  [+0.1644% +1.1274% +2.1415%]

Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild

1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client: Change within noise threshold.
       time:   [34.632 ms 34.830 ms 35.051 ms]
       thrpt:  [28.530  elem/s 28.711  elem/s 28.875  elem/s]
change:
       time:   [+0.3558% +1.1208% +1.9007%] (p = 0.00 < 0.05)
       thrpt:  [-1.8652% -1.1084% -0.3546%]

Found 7 outliers among 100 measurements (7.00%)
2 (2.00%) high mild
5 (5.00%) high severe

1-conn/1-100mb-resp/mtu-1504 (aka. Upload)/client: 💚 Performance has improved.
       time:   [1.5526 s 1.5688 s 1.5849 s]
       thrpt:  [63.096 MiB/s 63.745 MiB/s 64.410 MiB/s]
change:
       time:   [-9.6646% -8.2581% -6.7924%] (p = 0.00 < 0.05)
       thrpt:  [+7.2874% +9.0014% +10.699%]

Client/server transfer results

Transfer of 33554432 bytes over loopback.

Client Server CC Pacing MTU Mean [ms] Min [ms] Max [ms]
gquiche gquiche 1504 559.8 ± 93.7 507.3 768.3
neqo gquiche reno on 1504 765.4 ± 27.6 730.2 826.2
neqo gquiche reno 1504 748.9 ± 35.2 701.6 823.8
neqo gquiche cubic on 1504 772.8 ± 76.5 723.5 981.5
neqo gquiche cubic 1504 742.0 ± 25.6 699.8 802.0
msquic msquic 1504 135.4 ± 61.4 93.8 274.4
neqo msquic reno on 1504 273.2 ± 77.2 209.2 436.4
neqo msquic reno 1504 241.3 ± 62.9 202.4 396.8
neqo msquic cubic on 1504 261.9 ± 73.1 211.5 421.0
neqo msquic cubic 1504 256.1 ± 74.8 209.6 434.9
gquiche neqo reno on 1504 670.6 ± 86.3 530.0 784.7
gquiche neqo reno 1504 702.9 ± 149.2 542.2 1042.1
gquiche neqo cubic on 1504 682.8 ± 92.2 562.9 840.0
gquiche neqo cubic 1504 688.6 ± 89.2 560.2 813.9
msquic neqo reno on 1504 485.8 ± 58.7 455.4 651.3
msquic neqo reno 1504 511.1 ± 109.1 449.1 752.6
msquic neqo cubic on 1504 465.7 ± 8.9 453.5 479.0
msquic neqo cubic 1504 508.9 ± 63.2 452.4 625.7
neqo neqo reno on 1504 458.8 ± 44.5 428.1 576.5
neqo neqo reno 1504 469.7 ± 38.7 432.6 550.8
neqo neqo cubic on 1504 499.7 ± 85.3 449.0 718.5
neqo neqo cubic 1504 480.1 ± 89.2 434.7 732.0

⬇️ Download logs

Copy link
Member

@martinthomson martinthomson left a comment

Choose a reason for hiding this comment

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

Just a few nits. I think that we were mixing up some lengths, so maybe look into that more.

Copy link
Member

@martinthomson martinthomson left a comment

Choose a reason for hiding this comment

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

I like this. A little more work, sure, but it is a lot nicer to look at.

larseggert and others added 2 commits January 31, 2025 08:21
Co-authored-by: Martin Thomson <mt@lowentropy.net>
Signed-off-by: Lars Eggert <lars@eggert.org>
@larseggert larseggert enabled auto-merge January 31, 2025 06:23
@larseggert larseggert added this pull request to the merge queue Jan 31, 2025
Merged via the queue into mozilla:main with commit 59ba66c Jan 31, 2025
63 of 66 checks passed
@larseggert larseggert deleted the chore-factor-out-log-qlog branch January 31, 2025 06:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants