Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Side by Side Diff: net/quic/quic_connection_logger.cc

Issue 862133002: Update from https://crrev.com/312398 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/quic_connection_logger.h" 5 #include "net/quic/quic_connection_logger.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 base::DictionaryValue* info = new base::DictionaryValue(); 136 base::DictionaryValue* info = new base::DictionaryValue();
137 info->SetInteger("sequence_number", static_cast<int>(it->first)); 137 info->SetInteger("sequence_number", static_cast<int>(it->first));
138 info->SetInteger("received", 138 info->SetInteger("received",
139 static_cast<int>(it->second.ToDebuggingValue())); 139 static_cast<int>(it->second.ToDebuggingValue()));
140 received->Append(info); 140 received->Append(info);
141 } 141 }
142 142
143 return dict; 143 return dict;
144 } 144 }
145 145
146 base::Value* NetLogQuicCongestionFeedbackFrameCallback(
147 const QuicCongestionFeedbackFrame* frame,
148 NetLog::LogLevel /* log_level */) {
149 base::DictionaryValue* dict = new base::DictionaryValue();
150 switch (frame->type) {
151 case kTCP:
152 dict->SetString("type", "TCP");
153 dict->SetInteger("receive_window",
154 static_cast<int>(frame->tcp.receive_window));
155 break;
156 }
157
158 return dict;
159 }
160
161 base::Value* NetLogQuicRstStreamFrameCallback( 146 base::Value* NetLogQuicRstStreamFrameCallback(
162 const QuicRstStreamFrame* frame, 147 const QuicRstStreamFrame* frame,
163 NetLog::LogLevel /* log_level */) { 148 NetLog::LogLevel /* log_level */) {
164 base::DictionaryValue* dict = new base::DictionaryValue(); 149 base::DictionaryValue* dict = new base::DictionaryValue();
165 dict->SetInteger("stream_id", frame->stream_id); 150 dict->SetInteger("stream_id", frame->stream_id);
166 dict->SetInteger("quic_rst_stream_error", frame->error_code); 151 dict->SetInteger("quic_rst_stream_error", frame->error_code);
167 dict->SetString("details", frame->error_details); 152 dict->SetString("details", frame->error_details);
168 return dict; 153 return dict;
169 } 154 }
170 155
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 for (SequenceNumberSet::const_iterator it = missing_packets.begin(); 406 for (SequenceNumberSet::const_iterator it = missing_packets.begin();
422 it != missing_packets.end(); ++it) { 407 it != missing_packets.end(); ++it) {
423 if (*it != last_missing + 1 && ++num_ranges >= max_ranges) { 408 if (*it != last_missing + 1 && ++num_ranges >= max_ranges) {
424 ++num_truncated_acks_sent_; 409 ++num_truncated_acks_sent_;
425 break; 410 break;
426 } 411 }
427 last_missing = *it; 412 last_missing = *it;
428 } 413 }
429 break; 414 break;
430 } 415 }
431 case CONGESTION_FEEDBACK_FRAME:
432 net_log_.AddEvent(
433 NetLog::TYPE_QUIC_SESSION_CONGESTION_FEEDBACK_FRAME_SENT,
434 base::Bind(&NetLogQuicCongestionFeedbackFrameCallback,
435 frame.congestion_feedback_frame));
436 break;
437 case RST_STREAM_FRAME: 416 case RST_STREAM_FRAME:
438 UMA_HISTOGRAM_SPARSE_SLOWLY("Net.QuicSession.RstStreamErrorCodeClient", 417 UMA_HISTOGRAM_SPARSE_SLOWLY("Net.QuicSession.RstStreamErrorCodeClient",
439 frame.rst_stream_frame->error_code); 418 frame.rst_stream_frame->error_code);
440 net_log_.AddEvent( 419 net_log_.AddEvent(
441 NetLog::TYPE_QUIC_SESSION_RST_STREAM_FRAME_SENT, 420 NetLog::TYPE_QUIC_SESSION_RST_STREAM_FRAME_SENT,
442 base::Bind(&NetLogQuicRstStreamFrameCallback, 421 base::Bind(&NetLogQuicRstStreamFrameCallback,
443 frame.rst_stream_frame)); 422 frame.rst_stream_frame));
444 break; 423 break;
445 case CONNECTION_CLOSE_FRAME: 424 case CONNECTION_CLOSE_FRAME:
446 net_log_.AddEvent( 425 net_log_.AddEvent(
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 previous_missing_packet = *it; 605 previous_missing_packet = *it;
627 ++it; 606 ++it;
628 } 607 }
629 if (num_consecutive_missing_packets != 0) { 608 if (num_consecutive_missing_packets != 0) {
630 UpdatePacketGapSentHistogram(num_consecutive_missing_packets); 609 UpdatePacketGapSentHistogram(num_consecutive_missing_packets);
631 } 610 }
632 largest_received_missing_packet_sequence_number_ = 611 largest_received_missing_packet_sequence_number_ =
633 *missing_packets.rbegin(); 612 *missing_packets.rbegin();
634 } 613 }
635 614
636 void QuicConnectionLogger::OnCongestionFeedbackFrame(
637 const QuicCongestionFeedbackFrame& frame) {
638 net_log_.AddEvent(
639 NetLog::TYPE_QUIC_SESSION_CONGESTION_FEEDBACK_FRAME_RECEIVED,
640 base::Bind(&NetLogQuicCongestionFeedbackFrameCallback, &frame));
641 }
642
643 void QuicConnectionLogger::OnStopWaitingFrame( 615 void QuicConnectionLogger::OnStopWaitingFrame(
644 const QuicStopWaitingFrame& frame) { 616 const QuicStopWaitingFrame& frame) {
645 net_log_.AddEvent( 617 net_log_.AddEvent(
646 NetLog::TYPE_QUIC_SESSION_STOP_WAITING_FRAME_RECEIVED, 618 NetLog::TYPE_QUIC_SESSION_STOP_WAITING_FRAME_RECEIVED,
647 base::Bind(&NetLogQuicStopWaitingFrameCallback, &frame)); 619 base::Bind(&NetLogQuicStopWaitingFrameCallback, &frame));
648 } 620 }
649 621
650 void QuicConnectionLogger::OnRstStreamFrame(const QuicRstStreamFrame& frame) { 622 void QuicConnectionLogger::OnRstStreamFrame(const QuicRstStreamFrame& frame) {
651 UMA_HISTOGRAM_SPARSE_SLOWLY("Net.QuicSession.RstStreamErrorCodeServer", 623 UMA_HISTOGRAM_SPARSE_SLOWLY("Net.QuicSession.RstStreamErrorCodeServer",
652 frame.error_code); 624 frame.error_code);
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
919 continue; 891 continue;
920 } 892 }
921 // Record some overlapping patterns, to get a better picture, since this is 893 // Record some overlapping patterns, to get a better picture, since this is
922 // not very expensive. 894 // not very expensive.
923 if (i % 3 == 0) 895 if (i % 3 == 0)
924 six_packet_histogram->Add(recent_6_mask); 896 six_packet_histogram->Add(recent_6_mask);
925 } 897 }
926 } 898 }
927 899
928 } // namespace net 900 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698