Index: net/quic/quic_connection_logger.cc |
diff --git a/net/quic/quic_connection_logger.cc b/net/quic/quic_connection_logger.cc |
index d52debe1faef89f99e2e39c4edfae149fc47a183..9a775182e983614dfeb192caccdce038baefaa56 100644 |
--- a/net/quic/quic_connection_logger.cc |
+++ b/net/quic/quic_connection_logger.cc |
@@ -163,6 +163,34 @@ base::Value* NetLogQuicConnectionCloseFrameCallback( |
return dict; |
} |
+base::Value* NetLogQuicWindowUpdateFrameCallback( |
+ const QuicWindowUpdateFrame* frame, |
+ NetLog::LogLevel /* log_level */) { |
+ base::DictionaryValue* dict = new base::DictionaryValue(); |
+ dict->SetInteger("stream_id", frame->stream_id); |
+ dict->SetString("byte_offset", base::Uint64ToString(frame->byte_offset)); |
+ return dict; |
+} |
+ |
+base::Value* NetLogQuicBlockedFrameCallback( |
+ const QuicBlockedFrame* frame, |
+ NetLog::LogLevel /* log_level */) { |
+ base::DictionaryValue* dict = new base::DictionaryValue(); |
+ dict->SetInteger("stream_id", frame->stream_id); |
+ return dict; |
+} |
+ |
+base::Value* NetLogQuicStopWaitingFrameCallback( |
+ const QuicStopWaitingFrame* frame, |
+ NetLog::LogLevel /* log_level */) { |
+ base::DictionaryValue* dict = new base::DictionaryValue(); |
+ base::DictionaryValue* sent_info = new base::DictionaryValue(); |
+ dict->Set("sent_info", sent_info); |
+ sent_info->SetString("least_unacked", |
+ base::Uint64ToString(frame->least_unacked)); |
+ return dict; |
+} |
+ |
base::Value* NetLogQuicVersionNegotiationPacketCallback( |
const QuicVersionNegotiationPacket* packet, |
NetLog::LogLevel /* log_level */) { |
@@ -271,6 +299,24 @@ void QuicConnectionLogger::OnFrameAddedToPacket(const QuicFrame& frame) { |
break; |
case GOAWAY_FRAME: |
break; |
+ case WINDOW_UPDATE_FRAME: |
+ net_log_.AddEvent( |
+ NetLog::TYPE_QUIC_SESSION_WINDOW_UPDATE_FRAME_SENT, |
+ base::Bind(&NetLogQuicWindowUpdateFrameCallback, |
+ frame.window_update_frame)); |
+ break; |
+ case BLOCKED_FRAME: |
+ net_log_.AddEvent( |
+ NetLog::TYPE_QUIC_SESSION_BLOCKED_FRAME_SENT, |
+ base::Bind(&NetLogQuicBlockedFrameCallback, |
+ frame.blocked_frame)); |
+ break; |
+ case STOP_WAITING_FRAME: |
+ net_log_.AddEvent( |
+ NetLog::TYPE_QUIC_SESSION_STOP_WAITING_FRAME_SENT, |
+ base::Bind(&NetLogQuicStopWaitingFrameCallback, |
+ frame.stop_waiting_frame)); |
+ break; |
default: |
DCHECK(false) << "Illegal frame type: " << frame.type; |
} |
@@ -392,6 +438,13 @@ void QuicConnectionLogger::OnCongestionFeedbackFrame( |
base::Bind(&NetLogQuicCongestionFeedbackFrameCallback, &frame)); |
} |
+void QuicConnectionLogger::OnStopWaitingFrame( |
+ const QuicStopWaitingFrame& frame) { |
+ net_log_.AddEvent( |
+ NetLog::TYPE_QUIC_SESSION_STOP_WAITING_FRAME_RECEIVED, |
+ base::Bind(&NetLogQuicStopWaitingFrameCallback, &frame)); |
+} |
+ |
void QuicConnectionLogger::OnRstStreamFrame(const QuicRstStreamFrame& frame) { |
UMA_HISTOGRAM_SPARSE_SLOWLY("Net.QuicSession.RstStreamErrorCodeServer", |
frame.error_code); |