Commit ba008547 authored by Renjie Tang's avatar Renjie Tang Committed by Commit Bot

Add net log support for CRYPTO frame and STOP_SENDING frame.

Change-Id: I79b7b9e381b1385497570ea93c56ac6d930399c8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1825510Reviewed-by: default avatarRyan Hamilton <rch@chromium.org>
Commit-Queue: Renjie Tang <renjietang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#700031}
parent e6fada34
...@@ -1997,6 +1997,36 @@ EVENT_TYPE(QUIC_SESSION_CLOSED) ...@@ -1997,6 +1997,36 @@ EVENT_TYPE(QUIC_SESSION_CLOSED)
// } // }
EVENT_TYPE(QUIC_SESSION_CONNECTIVITY_PROBING_FINISHED) EVENT_TYPE(QUIC_SESSION_CONNECTIVITY_PROBING_FINISHED)
// Session sent a CRYPTO frame.
// {
// "encryption_level": <The quic::EncryptionLevel of the frame>,
// "data_length": <The length of the CRYPTO frame data>,
// "offset": <The offset of the CRYPTO frame>
// }
EVENT_TYPE(QUIC_SESSION_CRYPTO_FRAME_SENT)
// Session received a CRYPTO frame.
// {
// "encryption_level": <The quic::EncryptionLevel of the frame>,
// "data_length": <The length of the CRYPTO frame data>,
// "offset": <The offset of the CRYPTO frame>
// }
EVENT_TYPE(QUIC_SESSION_CRYPTO_FRAME_RECEIVED)
// Session sent a STOP_SENDING frame.
// {
// "stream_id": <The stream id>,
// "application_error_code": <The application error code>
// }
EVENT_TYPE(QUIC_SESSION_STOP_SENDING_FRAME_SENT)
// Session received a STOP_SENDING frame.
// {
// "stream_id": <The stream id>,
// "application_error_code": <The application error code>
// }
EVENT_TYPE(QUIC_SESSION_STOP_SENDING_FRAME_RECEIVED)
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
// QuicHttpStream // QuicHttpStream
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
......
...@@ -245,6 +245,23 @@ base::Value NetLogQuicCertificateVerifiedParams( ...@@ -245,6 +245,23 @@ base::Value NetLogQuicCertificateVerifiedParams(
return dict; return dict;
} }
base::Value NetLogQuicCryptoFrameParams(const quic::QuicCryptoFrame* frame) {
base::Value dict(base::Value::Type::DICTIONARY);
dict.SetStringKey("encryption_level",
quic::QuicUtils::EncryptionLevelToString(frame->level));
dict.SetIntKey("data_length", frame->data_length);
dict.SetKey("offset", NetLogNumberValue(frame->offset));
return dict;
}
base::Value NetLogQuicStopSendingFrameParams(
const quic::QuicStopSendingFrame* frame) {
base::Value dict(base::Value::Type::DICTIONARY);
dict.SetIntKey("stream_id", frame->stream_id);
dict.SetIntKey("application_error_code", frame->application_error_code);
return dict;
}
void UpdatePublicResetAddressMismatchHistogram( void UpdatePublicResetAddressMismatchHistogram(
const IPEndPoint& server_hello_address, const IPEndPoint& server_hello_address,
const IPEndPoint& public_reset_address) { const IPEndPoint& public_reset_address) {
...@@ -461,10 +478,17 @@ void QuicConnectionLogger::OnFrameAddedToPacket(const quic::QuicFrame& frame) { ...@@ -461,10 +478,17 @@ void QuicConnectionLogger::OnFrameAddedToPacket(const quic::QuicFrame& frame) {
case quic::PATH_CHALLENGE_FRAME: case quic::PATH_CHALLENGE_FRAME:
break; break;
case quic::STOP_SENDING_FRAME: case quic::STOP_SENDING_FRAME:
net_log_.AddEvent(
NetLogEventType::QUIC_SESSION_STOP_SENDING_FRAME_SENT, [&] {
return NetLogQuicStopSendingFrameParams(frame.stop_sending_frame);
});
break; break;
case quic::MESSAGE_FRAME: case quic::MESSAGE_FRAME:
break; break;
case quic::CRYPTO_FRAME: case quic::CRYPTO_FRAME:
net_log_.AddEvent(NetLogEventType::QUIC_SESSION_CRYPTO_FRAME_SENT, [&] {
return NetLogQuicCryptoFrameParams(frame.crypto_frame);
});
break; break;
case quic::NEW_TOKEN_FRAME: case quic::NEW_TOKEN_FRAME:
break; break;
...@@ -625,6 +649,21 @@ void QuicConnectionLogger::OnStreamFrame(const quic::QuicStreamFrame& frame) { ...@@ -625,6 +649,21 @@ void QuicConnectionLogger::OnStreamFrame(const quic::QuicStreamFrame& frame) {
[&] { return NetLogQuicStreamFrameParams(frame); }); [&] { return NetLogQuicStreamFrameParams(frame); });
} }
void QuicConnectionLogger::OnCryptoFrame(const quic::QuicCryptoFrame& frame) {
if (!net_log_.IsCapturing())
return;
net_log_.AddEvent(NetLogEventType::QUIC_SESSION_CRYPTO_FRAME_RECEIVED,
[&] { return NetLogQuicCryptoFrameParams(&frame); });
}
void QuicConnectionLogger::OnStopSendingFrame(
const quic::QuicStopSendingFrame& frame) {
if (!net_log_.IsCapturing())
return;
net_log_.AddEvent(NetLogEventType::QUIC_SESSION_STOP_SENDING_FRAME_RECEIVED,
[&] { return NetLogQuicStopSendingFrameParams(&frame); });
}
void QuicConnectionLogger::OnIncomingAck( void QuicConnectionLogger::OnIncomingAck(
quic::QuicPacketNumber ack_packet_number, quic::QuicPacketNumber ack_packet_number,
const quic::QuicAckFrame& frame, const quic::QuicAckFrame& frame,
......
...@@ -69,6 +69,8 @@ class NET_EXPORT_PRIVATE QuicConnectionLogger ...@@ -69,6 +69,8 @@ class NET_EXPORT_PRIVATE QuicConnectionLogger
void OnDuplicatePacket(quic::QuicPacketNumber packet_number) override; void OnDuplicatePacket(quic::QuicPacketNumber packet_number) override;
void OnProtocolVersionMismatch(quic::ParsedQuicVersion version) override; void OnProtocolVersionMismatch(quic::ParsedQuicVersion version) override;
void OnPacketHeader(const quic::QuicPacketHeader& header) override; void OnPacketHeader(const quic::QuicPacketHeader& header) override;
void OnCryptoFrame(const quic::QuicCryptoFrame& frame) override;
void OnStopSendingFrame(const quic::QuicStopSendingFrame& frame) override;
void OnStreamFrame(const quic::QuicStreamFrame& frame) override; void OnStreamFrame(const quic::QuicStreamFrame& frame) override;
void OnStopWaitingFrame(const quic::QuicStopWaitingFrame& frame) override; void OnStopWaitingFrame(const quic::QuicStopWaitingFrame& frame) override;
void OnRstStreamFrame(const quic::QuicRstStreamFrame& frame) override; void OnRstStreamFrame(const quic::QuicRstStreamFrame& frame) override;
......
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