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

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

Issue 905593002: Net.QuicSession.OutOfOrderLargePacketsReceived (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
« no previous file with comments | « net/quic/quic_connection_logger.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 } 319 }
320 320
321 } // namespace 321 } // namespace
322 322
323 QuicConnectionLogger::QuicConnectionLogger(QuicSession* session, 323 QuicConnectionLogger::QuicConnectionLogger(QuicSession* session,
324 const BoundNetLog& net_log) 324 const BoundNetLog& net_log)
325 : net_log_(net_log), 325 : net_log_(net_log),
326 session_(session), 326 session_(session),
327 last_received_packet_sequence_number_(0), 327 last_received_packet_sequence_number_(0),
328 last_received_packet_size_(0), 328 last_received_packet_size_(0),
329 previous_received_packet_size_(0),
329 largest_received_packet_sequence_number_(0), 330 largest_received_packet_sequence_number_(0),
330 largest_received_missing_packet_sequence_number_(0), 331 largest_received_missing_packet_sequence_number_(0),
331 num_out_of_order_received_packets_(0), 332 num_out_of_order_received_packets_(0),
333 num_out_of_order_large_received_packets_(0),
332 num_packets_received_(0), 334 num_packets_received_(0),
333 num_truncated_acks_sent_(0), 335 num_truncated_acks_sent_(0),
334 num_truncated_acks_received_(0), 336 num_truncated_acks_received_(0),
335 num_frames_received_(0), 337 num_frames_received_(0),
336 num_duplicate_frames_received_(0), 338 num_duplicate_frames_received_(0),
337 num_incorrect_connection_ids_(0), 339 num_incorrect_connection_ids_(0),
338 num_undecryptable_packets_(0), 340 num_undecryptable_packets_(0),
339 num_duplicate_packets_(0), 341 num_duplicate_packets_(0),
340 num_blocked_frames_received_(0), 342 num_blocked_frames_received_(0),
341 num_blocked_frames_sent_(0), 343 num_blocked_frames_sent_(0),
342 connection_description_(GetConnectionDescriptionString()) { 344 connection_description_(GetConnectionDescriptionString()) {
343 } 345 }
344 346
345 QuicConnectionLogger::~QuicConnectionLogger() { 347 QuicConnectionLogger::~QuicConnectionLogger() {
346 UMA_HISTOGRAM_COUNTS("Net.QuicSession.OutOfOrderPacketsReceived", 348 UMA_HISTOGRAM_COUNTS("Net.QuicSession.OutOfOrderPacketsReceived",
347 num_out_of_order_received_packets_); 349 num_out_of_order_received_packets_);
350 UMA_HISTOGRAM_COUNTS("Net.QuicSession.OutOfOrderLargePacketsReceived",
351 num_out_of_order_large_received_packets_);
348 UMA_HISTOGRAM_COUNTS("Net.QuicSession.TruncatedAcksSent", 352 UMA_HISTOGRAM_COUNTS("Net.QuicSession.TruncatedAcksSent",
349 num_truncated_acks_sent_); 353 num_truncated_acks_sent_);
350 UMA_HISTOGRAM_COUNTS("Net.QuicSession.TruncatedAcksReceived", 354 UMA_HISTOGRAM_COUNTS("Net.QuicSession.TruncatedAcksReceived",
351 num_truncated_acks_received_); 355 num_truncated_acks_received_);
352 UMA_HISTOGRAM_COUNTS("Net.QuicSession.IncorrectConnectionIDsReceived", 356 UMA_HISTOGRAM_COUNTS("Net.QuicSession.IncorrectConnectionIDsReceived",
353 num_incorrect_connection_ids_); 357 num_incorrect_connection_ids_);
354 UMA_HISTOGRAM_COUNTS("Net.QuicSession.UndecryptablePacketsReceived", 358 UMA_HISTOGRAM_COUNTS("Net.QuicSession.UndecryptablePacketsReceived",
355 num_undecryptable_packets_); 359 num_undecryptable_packets_);
356 UMA_HISTOGRAM_COUNTS("Net.QuicSession.DuplicatePacketsReceived", 360 UMA_HISTOGRAM_COUNTS("Net.QuicSession.DuplicatePacketsReceived",
357 num_duplicate_packets_); 361 num_duplicate_packets_);
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 void QuicConnectionLogger::OnPacketReceived(const IPEndPoint& self_address, 493 void QuicConnectionLogger::OnPacketReceived(const IPEndPoint& self_address,
490 const IPEndPoint& peer_address, 494 const IPEndPoint& peer_address,
491 const QuicEncryptedPacket& packet) { 495 const QuicEncryptedPacket& packet) {
492 if (local_address_from_self_.GetFamily() == ADDRESS_FAMILY_UNSPECIFIED) { 496 if (local_address_from_self_.GetFamily() == ADDRESS_FAMILY_UNSPECIFIED) {
493 local_address_from_self_ = self_address; 497 local_address_from_self_ = self_address;
494 UMA_HISTOGRAM_ENUMERATION("Net.QuicSession.ConnectionTypeFromSelf", 498 UMA_HISTOGRAM_ENUMERATION("Net.QuicSession.ConnectionTypeFromSelf",
495 GetRealAddressFamily(self_address.address()), 499 GetRealAddressFamily(self_address.address()),
496 ADDRESS_FAMILY_LAST); 500 ADDRESS_FAMILY_LAST);
497 } 501 }
498 502
503 previous_received_packet_size_ = last_received_packet_size_;
499 last_received_packet_size_ = packet.length(); 504 last_received_packet_size_ = packet.length();
500 net_log_.AddEvent( 505 net_log_.AddEvent(
501 NetLog::TYPE_QUIC_SESSION_PACKET_RECEIVED, 506 NetLog::TYPE_QUIC_SESSION_PACKET_RECEIVED,
502 base::Bind(&NetLogQuicPacketCallback, &self_address, &peer_address, 507 base::Bind(&NetLogQuicPacketCallback, &self_address, &peer_address,
503 packet.length())); 508 packet.length()));
504 } 509 }
505 510
506 void QuicConnectionLogger::OnIncorrectConnectionId( 511 void QuicConnectionLogger::OnIncorrectConnectionId(
507 QuicConnectionId connection_id) { 512 QuicConnectionId connection_id) {
508 ++num_incorrect_connection_ids_; 513 ++num_incorrect_connection_ids_;
(...skipping 30 matching lines...) Expand all
539 static_cast<base::HistogramBase::Sample>(delta - 1)); 544 static_cast<base::HistogramBase::Sample>(delta - 1));
540 } 545 }
541 largest_received_packet_sequence_number_ = header.packet_sequence_number; 546 largest_received_packet_sequence_number_ = header.packet_sequence_number;
542 } 547 }
543 if (header.packet_sequence_number < received_packets_.size()) { 548 if (header.packet_sequence_number < received_packets_.size()) {
544 received_packets_[static_cast<size_t>(header.packet_sequence_number)] = 549 received_packets_[static_cast<size_t>(header.packet_sequence_number)] =
545 true; 550 true;
546 } 551 }
547 if (header.packet_sequence_number < last_received_packet_sequence_number_) { 552 if (header.packet_sequence_number < last_received_packet_sequence_number_) {
548 ++num_out_of_order_received_packets_; 553 ++num_out_of_order_received_packets_;
554 if (previous_received_packet_size_ < last_received_packet_size_)
555 ++num_out_of_order_large_received_packets_;
549 UMA_HISTOGRAM_COUNTS( 556 UMA_HISTOGRAM_COUNTS(
550 "Net.QuicSession.OutOfOrderGapReceived", 557 "Net.QuicSession.OutOfOrderGapReceived",
551 static_cast<base::HistogramBase::Sample>( 558 static_cast<base::HistogramBase::Sample>(
552 last_received_packet_sequence_number_ - 559 last_received_packet_sequence_number_ -
553 header.packet_sequence_number)); 560 header.packet_sequence_number));
554 } 561 }
555 last_received_packet_sequence_number_ = header.packet_sequence_number; 562 last_received_packet_sequence_number_ = header.packet_sequence_number;
556 } 563 }
557 564
558 void QuicConnectionLogger::OnStreamFrame(const QuicStreamFrame& frame) { 565 void QuicConnectionLogger::OnStreamFrame(const QuicStreamFrame& frame) {
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 continue; 898 continue;
892 } 899 }
893 // Record some overlapping patterns, to get a better picture, since this is 900 // Record some overlapping patterns, to get a better picture, since this is
894 // not very expensive. 901 // not very expensive.
895 if (i % 3 == 0) 902 if (i % 3 == 0)
896 six_packet_histogram->Add(recent_6_mask); 903 six_packet_histogram->Add(recent_6_mask);
897 } 904 }
898 } 905 }
899 906
900 } // namespace net 907 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_connection_logger.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698