1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-10 21:22:20 +03:00
Commit Graph

33 Commits

Author SHA1 Message Date
Matt Joras
472e40a902 Implement handshake done and cipher dropping.
Summary: This implements the handshake done signal and also cipher dropping.

Reviewed By: yangchi

Differential Revision: D19584922

fbshipit-source-id: a98bec8f1076393b051ff65a2d8aae7d572b42f5
2020-02-27 12:25:52 -08:00
Matt Joras
60c1f4a6f3 Fix qlog stream id
Summary: This is now "stream_id". The qvis tools rely on this.

Reviewed By: JunqiWang

Differential Revision: D19393624

fbshipit-source-id: 20d03aee6d6651507424b8749b30c57081c753ef
2020-01-14 11:43:14 -08:00
Mirko Andjic
3f419b2eb2 Add vantage point to qlog.
Summary: Landing an outstanding diff

Reviewed By: yangchi

Differential Revision: D19261395

fbshipit-source-id: 437461222ff04f5c3271567d3bb064bceaf80029
2020-01-07 11:19:13 -08:00
Viktor Chynarov
603238265c Fix RETIRE_CONNECTION_ID qlog json output
Summary:
The RETIRE_CONNECTION_ID serialization didn't actually log the name
of the frame type, so it didn't show up.

Changed sequenceNumber -> sequence.

Reviewed By: sharma95

Differential Revision: D19184626

fbshipit-source-id: 2cd4436c1ce1b22c9445b3179062c7926069414e
2020-01-02 15:54:20 -08:00
Yang Chi
3cadc8f326 Tperf cmdline param to change Pacing observer bucket type
Summary:
Make this configurable via cmdline param. Plus some small
fixes/refactors.

Reviewed By: mjoras

Differential Revision: D19231872

fbshipit-source-id: 793db28a078fddee223a4c1e6d3a431562f9a24f
2019-12-27 19:30:53 -08:00
Raghu Nallamothu
e06de27550 Merge Application Close Frame and Connection Close Frame
Summary: As a part of Draft 17, application close frame has been removed, we use connection close frame to represent both application close and connection close.

Reviewed By: mjoras

Differential Revision: D18580856

fbshipit-source-id: d274fa2d3dbc59b926bca5a2b8a20328ae582703
2019-12-03 15:02:06 -08:00
Viktor Chynarov
45e71f737a Add QLog events for ConnMigration, PathValidation
Summary:
QLogConnectionMigrationEvent:
Allow observing client-side ConnectionMigration attempts (replacing the
socket), and observing the server-side changing the peer address it
is writing to.

QLogPathValidationEvent:
Allow observing successful/failed path validation attempts.
Success is considered as a correct PathResponse being returned.
A Failure is only published on the timeout expiring, not an invalid
PathChallenge frame being returned (we do not cancel this).

There are already QlogEvents for PathChallenge/PathResponse that
can be observed.

Reviewed By: JunqiWang

Differential Revision: D18340999

fbshipit-source-id: 512108f82a6e082021c0bd3254f108c128b17ba3
2019-11-08 08:39:36 -08:00
Yang Chi
b0088bb4e2 Add time since stream creation into Stream level qlog events
Summary:
to make the log easier to parse. Otherwise i will need a script to
scan the whole log and calculate refTime differences.

Reviewed By: sharma95

Differential Revision: D18042798

fbshipit-source-id: 1573f60eacaedb361fc8cdc2332333ff8bee6a13
2019-10-24 09:53:21 -07:00
Yang Chi
e12fe5287a AppLimited and Bandwidth update QLog event in Quic BBR
Summary:
This diff adds a new event for bandwidth estimation update, and
changed the app limited/unlimited into its own events instead of piggybacking
onto the congestion update

Reviewed By: mjoras

Differential Revision: D17602684

fbshipit-source-id: 48b855c68b58992d07b8c9b872aea637c4267137
2019-10-15 21:19:05 -07:00
Yang Chi
faae04331c Quic pacing observer
Summary:
Add a pacing observer interface in QLogger . An implementation is
added for tperf.

Reviewed By: mjoras

Differential Revision: D17816559

fbshipit-source-id: c9079a24a6dab88df83f32fec35dc287c58989cf
2019-10-10 22:08:10 -07:00
Viktor Chynarov
fa98978d6d Back out "Revert D15264935: [quic] Make RetireConnectionIdFrame a QuicSimpleFrame (for now)"
Summary: Original commit changeset: aa2ccf4bb39e

Reviewed By: lnicco

Differential Revision: D17688496

fbshipit-source-id: e627784cdfe208994cbae3f71062d74d312d3600
2019-10-01 11:11:05 -07:00
Bonnie Xu
3203074c41 Reduce number of padding frames
Summary: Reduce the number of padding frames that are generated, to decrease overall qlog size.

Reviewed By: sharma95

Differential Revision: D16533449

fbshipit-source-id: 68f9c48e265576bff098dfeee87e576e86a32330
2019-07-29 10:16:30 -07:00
Bonnie Xu
f72ab2cfd6 Implement HTTP3 event interface
Summary: Implement HTTP3 event interface for qlog.

Reviewed By: yangchi

Differential Revision: D16424215

fbshipit-source-id: 041cd0a999eea49fdf98218348bd2a62e467a0b0
2019-07-27 14:07:58 -07:00
Bonnie Xu
63a79f278b Implement metricUpdate interface
Summary: Implement metricUpdate interface as part of spec.

Reviewed By: mjoras

Differential Revision: D16447278

fbshipit-source-id: 662361f257a336066a9f7ffb4e31eea6012add3f
2019-07-25 22:49:24 -07:00
Bonnie Xu
ce7ff9c215 Implement packetAck interface
Summary: Implement packetAck interface as part of spec.

Reviewed By: sharma95

Differential Revision: D16422768

fbshipit-source-id: f053a3b89ec080603d6568e37ad9281cf4834186
2019-07-25 11:52:21 -07:00
Bonnie Xu
5d871f45e0 Implement packetBuffered interface
Summary: Implement packetBuffered interface, as part of spec.

Reviewed By: yangchi

Differential Revision: D16415617

fbshipit-source-id: ece8e9fcd05c3cb7b7c63f7d652ed8df4c1a355b
2019-07-25 11:52:19 -07:00
Bonnie Xu
3e14356c1c Fix qlogger to accomodate for retry
Summary:
Fixes include
1. Added packet_sent qlog event where it should be.
2. Reinitialize the qLogger after retry.
3. Fix issue where retry fails because packetNum can't be found.

Reviewed By: mjoras

Differential Revision: D16403221

fbshipit-source-id: 9288c1b24e98dc11e3b83575f58ca05445261ae3
2019-07-20 16:06:22 -07:00
Bonnie Xu
ed6d61690f Implement transportStateUpdate interface
Summary: Implement transportStateUpdate interface as part of [spec](fburl.com/proxygen-qlog).

Reviewed By: yangchi

Differential Revision: D16294320

fbshipit-source-id: 74f024782fc17b4706791c468866567238fac278
2019-07-20 10:09:22 -07:00
Bonnie Xu
14203ac53f Implement packetsLost interface
Summary: Implement packetsLost interface, as part of [spec](fburl.com/proxygen-qlog).

Reviewed By: yangchi

Differential Revision: D16292615

fbshipit-source-id: 7d313df209ac18f1deec92e32f557b0a1e97415c
2019-07-18 12:45:03 -07:00
Bonnie Xu
c550969a81 Implement lossAlarm interface
Summary: Implement lossAlarm interface according to [spec](fburl.com/proxygen-qlog).

Reviewed By: yangchi

Differential Revision: D16285188

fbshipit-source-id: f588f92230a0f0d9bf5d5fa7ad5673583b49fc1b
2019-07-18 09:47:51 -07:00
Bonnie Xu
ded2044f39 Implement datagramReceived interface
Summary: Implement datagramReceived interface, as part of [spec](fburl.com/proxygen-qlog).

Reviewed By: sharma95

Differential Revision: D16270834

fbshipit-source-id: fc112600b7d72a3ffdbb3b88584b2e17ed9c1ce1
2019-07-17 22:49:59 -07:00
Bonnie Xu
65dea29c7c Implement packetDrop interface for Quic
Summary: Implement packetDrop interface for Quic, as part of [spec](fburl.com/qlog-schema).

Reviewed By: yangchi

Differential Revision: D16233099

fbshipit-source-id: cf1fb67cea6f2599a6960593eace8122475c3557
2019-07-17 10:24:47 -07:00
Bonnie Xu
fb54bd8f06 Implement AppIdleUpdate interface for Quic
Summary: Implement AppIdleUpdate interface for Quic, as part of [spec](fburl.com/qlog-schema).

Reviewed By: yangchi

Differential Revision: D16231072

fbshipit-source-id: 09a759ad06388b7e8322179fbb9368b0015ae5a0
2019-07-16 16:37:38 -07:00
Bonnie Xu
9e4052c375 Implement pacingMetricUpdate interface for Quic
Summary: Implement pacingMetricUpdate interface for Quic. See [spec](fburl.com/qlog-schema) for details.

Reviewed By: yangchi

Differential Revision: D16205933

fbshipit-source-id: 858e7227ff2e3fae55d9de410818b7afe99fb0a5
2019-07-15 21:58:20 -07:00
Bonnie Xu
4b2b63248e Implement metricUpdate interface for Quic
Summary: Implement metricUpdate interface for Quic. See [spec](fburl.com/qlog-schema) for details.

Reviewed By: yangchi

Differential Revision: D16170779

fbshipit-source-id: 3c4121a953aa93b7de7485f99a78765da1302d6f
2019-07-12 10:09:24 -07:00
Bonnie Xu
a5e59690bd Implemented TransportSummaryEvent interface for QLogger
Summary: Implemented TransportSummaryEvent interface for QLogger. See [spec](fburl.com/qlog-schema) for details.

Reviewed By: mjoras

Differential Revision: D16115821

fbshipit-source-id: 92da0a75b3c53a9287c456bb34a066a105a0ded4
2019-07-12 09:28:45 -07:00
Bonnie Xu
fc6aa8b248 Implemented ConnectionCloseEvent interface for QLogger
Summary:
Implemented ConnectionCloseEvent interface for QLogger. As part of spec, [see here.](fburl.com/qlog-schema)

I intend to add this to ProxygenQLogger after [D15945914](https://our.intern.facebook.com/intern/diff/D15945914/) lands, and connect it to Quic in the next diff (ex. `qLogger->add...`).

Reviewed By: yangchi

Differential Revision: D16093813

fbshipit-source-id: 040be49f9c762eeb0439ae6cf22e2596987d8791
2019-07-09 00:10:12 -07:00
Bonnie Xu
e32ca912d7 Implement ProxygenQLogger interface
Summary:
Implement ProxygenQLogger interface
- This includes creating the derived class for Proxygen based on QLogge

Reviewed By: yangchi

Differential Revision: D15945914

fbshipit-source-id: dc590b1453d72c8252323c5edd2605324bc06c82
2019-07-02 19:07:56 -07:00
Bonnie Xu
55a5e9b43b Added dcid, scid, reference time to toDynamic output
Summary: Added dcid, scid, reference time to toDynamic output, for FileQLogger, [in accordance to QLog output](https://raw.githubusercontent.com/quiclog/internet-drafts/master/examples/draft-00/draft-00-basic_example.qlog).

Reviewed By: sharma95

Differential Revision: D16036483

fbshipit-source-id: 6f2cec9c8705c808ccca36926568635627898a5d
2019-07-02 12:37:32 -07:00
Bonnie Xu
a6606f2a52 Setup logging in Quic based on QLogger
Summary: Setup logging in Quic based on QLogger.

Reviewed By: mjoras

Differential Revision: D15818340

fbshipit-source-id: 553aaedc6043a7f079c597ef0647c5b91f3033df
2019-06-24 09:45:45 -07:00
Yang Chi
fcd7577ba8 Save a couple copy of dynamics in QLog
Summary: Two of them can be moved. Two of them can be saved with copy-elision.

Reviewed By: sharma95, xubonnie

Differential Revision: D15951005

fbshipit-source-id: ea8a4c59c06bdb7f2c571d27fdd6390ec276961b
2019-06-24 09:34:36 -07:00
Bonnie Xu
805029b648 Added functionality to construct toDynamic objects
Summary: Converting stored QLog events into a toDynamic object that aligns with QLog format.

Reviewed By: sharma95

Differential Revision: D15725495

fbshipit-source-id: 0721a2d6858cfd99e191e3dfdc5f25f544106c86
2019-06-17 19:29:43 -07:00
Bonnie Xu
1affb7e49d Interface for QLogger
Summary:
Interface for QLogger:
- Takes in a Quic packet (`VersionNegotiation`, `RegularQuicWritePacket`, `RegularQuicPacket`)
- Stores it in QLogger
  - each packet is an event
  - each frame becomes a log

Reviewed By: sharma95

Differential Revision: D15581299

fbshipit-source-id: dedf933f47e2e8769109aa1e45ff38c2bf013714
2019-06-14 11:48:34 -07:00