Summary:
This adds a QLog event for Retry packets. There are three fields:
- packetType: This is always "RETRY"
- packetSize: The size of the entire packet
- tokenSize: The size of the retry token
Reviewed By: mjoras
Differential Revision: D20910017
fbshipit-source-id: feb4abbf0d15ff7b24fd11f00634e9da84bf8333
Summary: In the constructor of FileQlogger adds a bool that sets streaming mode. If it's set it creates a thread that reads events from the log and immediatly outputs them to an output file.
Reviewed By: mjoras
Differential Revision: D20250881
fbshipit-source-id: 2af3ff0aeaa5b62f90b0c01570c96c92fdab4412
Summary:
this isn't part of the QLog draft. The ack frame information in
already included in the packet_received event. Qvis also doesn't need this.
The only additional information this gives us is that the ack frame in the
packet_received has more packets than current outstanding packets. packet_ack
only includes those still outstanding.
For example, it's possible that only packets [5, 10] are outstanding since peer
already acked [0, 4] before. But peer hasn't received the ack of ack. Then peer
sends another packet which will ack [0, 10]. In that packet_received event, the
ack frame will have [0, 10]. But we will only generate packet_ack for [5, 10].
If such information is important, then we should keep this, but make it concise
at least.
Right now i'm not even sure if such information is important. We can get to the
same conclusion by backtracking to the previously received [0, 4] ack frame.
This is a lot of data.
Thoughts?
Reviewed By: mjoras
Differential Revision: D19237301
fbshipit-source-id: 95dfe2f9f6942cc30434b1fc05dd4929607d9c95
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
Summary: this prints a ton if someone logs one connection per file
Reviewed By: sharma95
Differential Revision: D18048613
fbshipit-source-id: 126f770e0f8ca0ea492df2fefb96fa89d1c0fb7f
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
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
Summary:
Add a pacing observer interface in QLogger . An implementation is
added for tperf.
Reviewed By: mjoras
Differential Revision: D17816559
fbshipit-source-id: c9079a24a6dab88df83f32fec35dc287c58989cf
Summary:
Move major QLogger code into BaseQLogger so that mobile clients can choose not
to depend on it.
Reviewed By: mjoras
Differential Revision: D17781130
fbshipit-source-id: 3e35c552c8948a8c15ddb0170d28a92326aea9e1
Summary: Update qlog format to be more complete. Adding the summary section (with extra fields like title, description, etc). This diff is just to make the format more on par with Robin's schema.
Reviewed By: mjoras
Differential Revision: D16499808
fbshipit-source-id: 56cfbb95404f7e3c6638bffda18b53f7d83048a1
Summary: Implement packetDrop interface for Quic, as part of [spec](fburl.com/qlog-schema).
Reviewed By: yangchi
Differential Revision: D16233099
fbshipit-source-id: cf1fb67cea6f2599a6960593eace8122475c3557
Summary: Implement AppIdleUpdate interface for Quic, as part of [spec](fburl.com/qlog-schema).
Reviewed By: yangchi
Differential Revision: D16231072
fbshipit-source-id: 09a759ad06388b7e8322179fbb9368b0015ae5a0
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
Summary: Rename `add` to `addPacket`, since `add` is an ambiguous function name, especially as we include more events.
Reviewed By: sharma95
Differential Revision: D16102141
fbshipit-source-id: 73196a5f1bcc681e3bb0a26fd9edaf34f59bf710
Summary:
Refactor QLogger to include derived QLogger classes depending on use case.
The QLog output will differ depending on what is requesting a QLog.
`File QLogger`: This is connected to HQ, stores all of the events per connection, and then outputs them to a file.
Reviewed By: sharma95
Differential Revision: D15928447
fbshipit-source-id: b2cdcd4d6305585b0f4f0aa21a95d1398aa761a5