Summary:
Make a custom variant type for PacketHeader. By not relying on boost::variant
this reduces the code size of the implementation.
This uses a combination of a union type as well as a enum type to emulate a variant
Reviewed By: yangchi
Differential Revision: D17187589
fbshipit-source-id: 00c2b9b8dd3f3e73af766d84888b13b9d867165a
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: Reduce the number of padding frames that are generated, to decrease overall qlog size.
Reviewed By: sharma95
Differential Revision: D16533449
fbshipit-source-id: 68f9c48e265576bff098dfeee87e576e86a32330
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: Add metricUpdate event to Quic, so it can be logged as part of qlog.
Reviewed By: yangchi
Differential Revision: D16190166
fbshipit-source-id: 193b343f568fece4ca6bb43fa44e374a1df76c84
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:
Implement ProxygenQLogger interface
- This includes creating the derived class for Proxygen based on QLogge
Reviewed By: yangchi
Differential Revision: D15945914
fbshipit-source-id: dc590b1453d72c8252323c5edd2605324bc06c82
Summary:
There is already a createPacket util function in this file. Rename the
newly added generate* functions to make this consistent
Reviewed By: sharma95
Differential Revision: D15948954
fbshipit-source-id: 67e7addefc839226b98d81a3808d37519ce001af
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
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