Commit 9aa04b94 authored by Bence Béky's avatar Bence Béky Committed by Commit Bot

Record HTTP/3 events in NetLog.

Bug: 1062700
Change-Id: I3b25b0e49f07c40a72eeb170d2f9d218aa56ba3e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2117316Reviewed-by: default avatarRenjie Tang <renjietang@chromium.org>
Commit-Queue: Bence Béky <bnc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#755985}
parent 96e66c5c
......@@ -3572,24 +3572,169 @@ EVENT_TYPE(COOKIE_INCLUSION_STATUS)
// HTTP/3 events.
// -----------------------------------------------------------------------------
// Event emitted when peer created control stream type is received.
// Event emitted when locally-initiated HTTP/3 control stream is created.
// {
// "stream_id": <The stream id of locally created control stream>
// }
EVENT_TYPE(HTTP3_LOCAL_CONTROL_STREAM_CREATED)
// Event emitted when locally-initiated QPACK encoder stream is created.
// {
// "stream_id": <The stream id of locally created QPACK encoder stream>
// }
EVENT_TYPE(HTTP3_LOCAL_QPACK_ENCODER_STREAM_CREATED)
// Event emitted when locally-initiated QPACK decoder stream is created.
// {
// "stream_id": <The stream id of locally created QPACK decoder stream>
// }
EVENT_TYPE(HTTP3_LOCAL_QPACK_DECODER_STREAM_CREATED)
// Event emitted when peer created HTTP/3 control stream type is received.
// {
// "stream_id": <The stream id of peer created control stream>
// }
EVENT_TYPE(HTTP3_PEER_CONTROL_STREAM_CREATED)
// Event emitted when peer created QPACK encoder stream type is received.
// {
// "stream_id": <The stream id of the peer created QPACK encoder stream>
// }
EVENT_TYPE(HTTP3_PEER_QPACK_ENCODER_STREAM_CREATED)
// Event emitted when peer created QPACK decoder stream type is received.
// {
// "stream_id": <The stream id of the peer created QPACK decoder stream>
// }
EVENT_TYPE(HTTP3_PEER_QPACK_DECODER_STREAM_CREATED)
// Event emitted when an HTTP/3 CANCEL_PUSH frame is received.
// {
// "push_id": <The push_id field of the CANCEL_PUSH frame>
// }
EVENT_TYPE(HTTP3_CANCEL_PUSH_RECEIVED)
// Event emitted when SETTINGS frame is received.
// A list of settings will be logged by
// <setting identifier>: <setting value>
EVENT_TYPE(HTTP3_SETTINGS_RECEIVED)
// EVENT emitted when SETTINGS frame is sent.
// Event emitted when an HTTP/3 GOAWAY frame is received.
// {
// "stream_id": <The stream_id field of the GOAWAY frame>
// }
EVENT_TYPE(HTTP3_GOAWAY_RECEIVED)
// Event emitted when an HTTP/3 MAX_PUSH_ID frame is received.
// {
// "push_id": <The push_id field of the MAX_PUSH_ID frame>
// }
EVENT_TYPE(HTTP3_MAX_PUSH_ID_RECEIVED)
// Event emitted when an HTTP/3 PRIORITY_UPDATE frame is received.
// {
// "type": <The prioritized element type field of the PRIORITY_UPDATE frame>
// "prioritized_element_id": <The prioritized_element_id field of the
// PRIORITY_UPDATE frame>
// "priority_field_value": <The priority_field_value field of the
// PRIORITY_UPDATE frame>
// }
EVENT_TYPE(HTTP3_PRIORITY_UPDATE_RECEIVED)
// Event emitted when an HTTP/3 DATA frame header is received.
// {
// "stream_id": <The ID of the stream on which the DATA frame is received>
// "payload_length": <The length of DATA frame payload>
// }
EVENT_TYPE(HTTP3_DATA_FRAME_RECEIVED)
// Event emitted when the receipt of an HTTP/3 HEADERS frame is complete.
// {
// "stream_id": <The ID of the stream on which the HEADERS frame is received>
// "payload_length": <The total number of payload bytes received>
// }
EVENT_TYPE(HTTP3_HEADERS_RECEIVED)
// Event emitted when headers received in an HTTP/3 HEADERS frame are decoded.
// {
// "stream_id": <The ID of the stream on which the HEADERS frame had been
// received>
// "headers": <A dictionary of the decoded headers>
// }
EVENT_TYPE(HTTP3_HEADERS_DECODED)
// Event emitted when the receipt of an HTTP/3 PUSH_PROMISE frame is complete.
// {
// "stream_id": <The ID of the stream on which the PUSH_PROMISE frame is
// received>
// "push_id": <The push_id field of the PUSH_PROMISE frame>
// }
EVENT_TYPE(HTTP3_PUSH_PROMISE_RECEIVED)
// Event emitted when headers received in an HTTP/3 PUSH_PROMISE frame are
// decoded.
// {
// "stream_id": <The ID of the stream on which the PUSH_PROMISE frame had
// been received>
// "push_id": <The push_id field of the PUSH_PROMISE frame>
// "headers": <A dictionary of the decoded headers>
// }
EVENT_TYPE(HTTP3_PUSH_PROMISE_DECODED)
// Event emitted when the frame header of an HTTP/3 frame of unknown type is
// received.
// {
// "stream_id": <The ID of the stream on which the frame is received>
// "frame_type": <The frame type>
// "payload_length": <The length of the frame payload>
// }
EVENT_TYPE(HTTP3_UNKNOWN_FRAME_RECEIVED)
// Event emitted when an HTTP/3 SETTINGS frame is sent.
// A list of settings will be logged by
// <setting identifier>: <setting value>
EVENT_TYPE(HTTP3_SETTINGS_SENT)
// Event emitted when an HTTP/3 GOAWAY frame is sent.
// {
// "stream_id": <The stream_id field of the GOAWAY frame>
// }
EVENT_TYPE(HTTP3_GOAWAY_SENT)
// Event emitted when an HTTP/3 MAX_PUSH_ID frame is sent.
// {
// "push_id": <The push_id field of the MAX_PUSH_ID frame>
// }
EVENT_TYPE(HTTP3_MAX_PUSH_ID_SENT)
// Event emitted when an HTTP/3 PRIORITY_UPDATE frame is sent.
// {
// "type": <The prioritized element type field of the PRIORITY_UPDATE frame>
// "prioritized_element_id": <The prioritized_element_id field of the
// PRIORITY_UPDATE frame>
// "priority_field_value": <The priority_field_value field of the
// PRIORITY_UPDATE frame>
// }
EVENT_TYPE(HTTP3_PRIORITY_UPDATE_SENT)
// Event emitted when an HTTP/3 DATA frame is sent.
// {
// "stream_id": <The ID of the stream on which the frame is sent>
// "payload_length": <The total payload length of the frame>
// }
EVENT_TYPE(HTTP3_DATA_SENT)
// Event emitted when an HTTP/3 HEADERS frame is sent.
// {
// "stream_id": <The ID of the stream on which the frame is sent>
// "headers": <A dictionary of the headers sent>
// }
EVENT_TYPE(HTTP3_HEADERS_SENT)
// Event emitted when an HTTP/3 PUSH_PROMISE frame is sent.
// {
// "stream_id": <The ID of the stream on which the frame is sent>
// "push_id": <The push_id field of the PUSH_PROMISE frame>
// "headers": <A dictionary of the headers sent>
// }
EVENT_TYPE(HTTP3_PUSH_PROMISE_SENT)
This diff is collapsed.
......@@ -26,11 +26,53 @@ class NET_EXPORT_PRIVATE QuicHttp3Logger : public quic::Http3DebugVisitor {
~QuicHttp3Logger() override;
// Implementation of Http3DebugVisitor.
void OnControlStreamCreated(quic::QuicStreamId stream_id) override;
void OnQpackEncoderStreamCreated(quic::QuicStreamId stream_id) override;
void OnQpackDecoderStreamCreated(quic::QuicStreamId stream_id) override;
void OnPeerControlStreamCreated(quic::QuicStreamId stream_id) override;
void OnPeerQpackEncoderStreamCreated(quic::QuicStreamId stream_id) override;
void OnPeerQpackDecoderStreamCreated(quic::QuicStreamId stream_id) override;
void OnCancelPushFrameReceived(const quic::CancelPushFrame& frame) override;
void OnSettingsFrameReceived(const quic::SettingsFrame& frame) override;
void OnGoAwayFrameReceived(const quic::GoAwayFrame& frame) override;
void OnMaxPushIdFrameReceived(const quic::MaxPushIdFrame& frame) override;
void OnPriorityUpdateFrameReceived(
const quic::PriorityUpdateFrame& frame) override;
void OnDataFrameReceived(quic::QuicStreamId stream_id,
quic::QuicByteCount payload_length) override;
void OnHeadersFrameReceived(
quic::QuicStreamId stream_id,
quic::QuicByteCount compressed_headers_length) override;
void OnHeadersDecoded(quic::QuicStreamId stream_id,
quic::QuicHeaderList headers) override;
void OnPushPromiseFrameReceived(
quic::QuicStreamId stream_id,
quic::QuicStreamId push_id,
quic::QuicByteCount compressed_headers_length) override;
void OnPushPromiseDecoded(quic::QuicStreamId stream_id,
quic::QuicStreamId push_id,
quic::QuicHeaderList headers) override;
void OnUnknownFrameReceived(quic::QuicStreamId stream_id,
uint64_t frame_type,
quic::QuicByteCount payload_length) override;
void OnSettingsFrameSent(const quic::SettingsFrame& frame) override;
void OnGoAwayFrameSent(quic::QuicStreamId stream_id) override;
void OnMaxPushIdFrameSent(const quic::MaxPushIdFrame& frame) override;
void OnPriorityUpdateFrameSent(
const quic::PriorityUpdateFrame& frame) override;
void OnDataFrameSent(quic::QuicStreamId stream_id,
quic::QuicByteCount payload_length) override;
void OnHeadersFrameSent(quic::QuicStreamId stream_id,
const spdy::SpdyHeaderBlock& header_block) override;
void OnPushPromiseFrameSent(
quic::QuicStreamId stream_id,
quic::QuicStreamId push_id,
const spdy::SpdyHeaderBlock& header_block) override;
private:
NetLogWithSource net_log_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment