OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/socket/client_socket_pool_base.h" | 5 #include "net/socket/client_socket_pool_base.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
701 return dict; | 701 return dict; |
702 } | 702 } |
703 | 703 |
704 void ClientSocketPoolBaseHelper::DumpMemoryStats( | 704 void ClientSocketPoolBaseHelper::DumpMemoryStats( |
705 base::trace_event::ProcessMemoryDump* pmd, | 705 base::trace_event::ProcessMemoryDump* pmd, |
706 const std::string& parent_dump_absolute_name) const { | 706 const std::string& parent_dump_absolute_name) const { |
707 size_t socket_count = 0; | 707 size_t socket_count = 0; |
708 size_t total_size = 0; | 708 size_t total_size = 0; |
709 size_t buffer_size = 0; | 709 size_t buffer_size = 0; |
710 size_t cert_count = 0; | 710 size_t cert_count = 0; |
711 size_t serialized_cert_size = 0; | 711 size_t cert_size = 0; |
712 for (const auto& kv : group_map_) { | 712 for (const auto& kv : group_map_) { |
713 for (const auto& socket : kv.second->idle_sockets()) { | 713 for (const auto& socket : kv.second->idle_sockets()) { |
714 StreamSocket::SocketMemoryStats stats; | 714 StreamSocket::SocketMemoryStats stats; |
715 socket.socket->DumpMemoryStats(&stats); | 715 socket.socket->DumpMemoryStats(&stats); |
716 total_size += stats.total_size; | 716 total_size += stats.total_size; |
717 buffer_size += stats.buffer_size; | 717 buffer_size += stats.buffer_size; |
718 cert_count += stats.cert_count; | 718 cert_count += stats.cert_count; |
719 serialized_cert_size += stats.serialized_cert_size; | 719 cert_size += stats.cert_size; |
720 ++socket_count; | 720 ++socket_count; |
721 } | 721 } |
722 } | 722 } |
723 // Only create a MemoryAllocatorDump if there is at least one idle socket | 723 // Only create a MemoryAllocatorDump if there is at least one idle socket |
724 if (socket_count > 0) { | 724 if (socket_count > 0) { |
725 base::trace_event::MemoryAllocatorDump* socket_pool_dump = | 725 base::trace_event::MemoryAllocatorDump* socket_pool_dump = |
726 pmd->CreateAllocatorDump(base::StringPrintf( | 726 pmd->CreateAllocatorDump(base::StringPrintf( |
727 "%s/socket_pool", parent_dump_absolute_name.c_str())); | 727 "%s/socket_pool", parent_dump_absolute_name.c_str())); |
728 socket_pool_dump->AddScalar( | 728 socket_pool_dump->AddScalar( |
729 base::trace_event::MemoryAllocatorDump::kNameSize, | 729 base::trace_event::MemoryAllocatorDump::kNameSize, |
730 base::trace_event::MemoryAllocatorDump::kUnitsBytes, total_size); | 730 base::trace_event::MemoryAllocatorDump::kUnitsBytes, total_size); |
731 socket_pool_dump->AddScalar( | 731 socket_pool_dump->AddScalar( |
732 base::trace_event::MemoryAllocatorDump::kNameObjectCount, | 732 base::trace_event::MemoryAllocatorDump::kNameObjectCount, |
733 base::trace_event::MemoryAllocatorDump::kUnitsObjects, socket_count); | 733 base::trace_event::MemoryAllocatorDump::kUnitsObjects, socket_count); |
734 socket_pool_dump->AddScalar( | 734 socket_pool_dump->AddScalar( |
735 "buffer_size", base::trace_event::MemoryAllocatorDump::kUnitsBytes, | 735 "buffer_size", base::trace_event::MemoryAllocatorDump::kUnitsBytes, |
736 buffer_size); | 736 buffer_size); |
737 socket_pool_dump->AddScalar( | 737 socket_pool_dump->AddScalar( |
738 "cert_count", base::trace_event::MemoryAllocatorDump::kUnitsObjects, | 738 "cert_count", base::trace_event::MemoryAllocatorDump::kUnitsObjects, |
739 cert_count); | 739 cert_count); |
740 socket_pool_dump->AddScalar( | 740 socket_pool_dump->AddScalar( |
741 "serialized_cert_size", | 741 "undeduped_cert_size", |
742 base::trace_event::MemoryAllocatorDump::kUnitsBytes, | 742 base::trace_event::MemoryAllocatorDump::kUnitsBytes, cert_size); |
743 serialized_cert_size); | |
744 } | 743 } |
745 } | 744 } |
746 | 745 |
747 bool ClientSocketPoolBaseHelper::IdleSocket::IsUsable() const { | 746 bool ClientSocketPoolBaseHelper::IdleSocket::IsUsable() const { |
748 if (socket->WasEverUsed()) | 747 if (socket->WasEverUsed()) |
749 return socket->IsConnectedAndIdle(); | 748 return socket->IsConnectedAndIdle(); |
750 return socket->IsConnected(); | 749 return socket->IsConnected(); |
751 } | 750 } |
752 | 751 |
753 void ClientSocketPoolBaseHelper::CleanupIdleSockets(bool force) { | 752 void ClientSocketPoolBaseHelper::CleanupIdleSockets(bool force) { |
(...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1428 // If there are no more requests, kill the backup timer. | 1427 // If there are no more requests, kill the backup timer. |
1429 if (pending_requests_.empty()) | 1428 if (pending_requests_.empty()) |
1430 backup_job_timer_.Stop(); | 1429 backup_job_timer_.Stop(); |
1431 request->CrashIfInvalid(); | 1430 request->CrashIfInvalid(); |
1432 return request; | 1431 return request; |
1433 } | 1432 } |
1434 | 1433 |
1435 } // namespace internal | 1434 } // namespace internal |
1436 | 1435 |
1437 } // namespace net | 1436 } // namespace net |
OLD | NEW |