| 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 703 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 714 return dict; | 714 return dict; |
| 715 } | 715 } |
| 716 | 716 |
| 717 void ClientSocketPoolBaseHelper::DumpMemoryStats( | 717 void ClientSocketPoolBaseHelper::DumpMemoryStats( |
| 718 base::trace_event::ProcessMemoryDump* pmd, | 718 base::trace_event::ProcessMemoryDump* pmd, |
| 719 const std::string& parent_dump_absolute_name) const { | 719 const std::string& parent_dump_absolute_name) const { |
| 720 size_t socket_count = 0; | 720 size_t socket_count = 0; |
| 721 size_t total_size = 0; | 721 size_t total_size = 0; |
| 722 size_t buffer_size = 0; | 722 size_t buffer_size = 0; |
| 723 size_t cert_count = 0; | 723 size_t cert_count = 0; |
| 724 size_t serialized_cert_size = 0; | 724 size_t cert_size = 0; |
| 725 for (const auto& kv : group_map_) { | 725 for (const auto& kv : group_map_) { |
| 726 for (const auto& socket : kv.second->idle_sockets()) { | 726 for (const auto& socket : kv.second->idle_sockets()) { |
| 727 StreamSocket::SocketMemoryStats stats; | 727 StreamSocket::SocketMemoryStats stats; |
| 728 socket.socket->DumpMemoryStats(&stats); | 728 socket.socket->DumpMemoryStats(&stats); |
| 729 total_size += stats.total_size; | 729 total_size += stats.total_size; |
| 730 buffer_size += stats.buffer_size; | 730 buffer_size += stats.buffer_size; |
| 731 cert_count += stats.cert_count; | 731 cert_count += stats.cert_count; |
| 732 serialized_cert_size += stats.serialized_cert_size; | 732 cert_size += stats.cert_size; |
| 733 ++socket_count; | 733 ++socket_count; |
| 734 } | 734 } |
| 735 } | 735 } |
| 736 // Only create a MemoryAllocatorDump if there is at least one idle socket | 736 // Only create a MemoryAllocatorDump if there is at least one idle socket |
| 737 if (socket_count > 0) { | 737 if (socket_count > 0) { |
| 738 base::trace_event::MemoryAllocatorDump* socket_pool_dump = | 738 base::trace_event::MemoryAllocatorDump* socket_pool_dump = |
| 739 pmd->CreateAllocatorDump(base::StringPrintf( | 739 pmd->CreateAllocatorDump(base::StringPrintf( |
| 740 "%s/socket_pool", parent_dump_absolute_name.c_str())); | 740 "%s/socket_pool", parent_dump_absolute_name.c_str())); |
| 741 socket_pool_dump->AddScalar( | 741 socket_pool_dump->AddScalar( |
| 742 base::trace_event::MemoryAllocatorDump::kNameSize, | 742 base::trace_event::MemoryAllocatorDump::kNameSize, |
| 743 base::trace_event::MemoryAllocatorDump::kUnitsBytes, total_size); | 743 base::trace_event::MemoryAllocatorDump::kUnitsBytes, total_size); |
| 744 socket_pool_dump->AddScalar( | 744 socket_pool_dump->AddScalar( |
| 745 base::trace_event::MemoryAllocatorDump::kNameObjectCount, | 745 base::trace_event::MemoryAllocatorDump::kNameObjectCount, |
| 746 base::trace_event::MemoryAllocatorDump::kUnitsObjects, socket_count); | 746 base::trace_event::MemoryAllocatorDump::kUnitsObjects, socket_count); |
| 747 socket_pool_dump->AddScalar( | 747 socket_pool_dump->AddScalar( |
| 748 "buffer_size", base::trace_event::MemoryAllocatorDump::kUnitsBytes, | 748 "buffer_size", base::trace_event::MemoryAllocatorDump::kUnitsBytes, |
| 749 buffer_size); | 749 buffer_size); |
| 750 socket_pool_dump->AddScalar( | 750 socket_pool_dump->AddScalar( |
| 751 "cert_count", base::trace_event::MemoryAllocatorDump::kUnitsObjects, | 751 "cert_count", base::trace_event::MemoryAllocatorDump::kUnitsObjects, |
| 752 cert_count); | 752 cert_count); |
| 753 socket_pool_dump->AddScalar( | 753 socket_pool_dump->AddScalar( |
| 754 "serialized_cert_size", | 754 "cert_size", base::trace_event::MemoryAllocatorDump::kUnitsBytes, |
| 755 base::trace_event::MemoryAllocatorDump::kUnitsBytes, | 755 cert_size); |
| 756 serialized_cert_size); | |
| 757 } | 756 } |
| 758 } | 757 } |
| 759 | 758 |
| 760 bool ClientSocketPoolBaseHelper::IdleSocket::IsUsable() const { | 759 bool ClientSocketPoolBaseHelper::IdleSocket::IsUsable() const { |
| 761 if (socket->WasEverUsed()) | 760 if (socket->WasEverUsed()) |
| 762 return socket->IsConnectedAndIdle(); | 761 return socket->IsConnectedAndIdle(); |
| 763 return socket->IsConnected(); | 762 return socket->IsConnected(); |
| 764 } | 763 } |
| 765 | 764 |
| 766 void ClientSocketPoolBaseHelper::CleanupIdleSockets(bool force) { | 765 void ClientSocketPoolBaseHelper::CleanupIdleSockets(bool force) { |
| (...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1469 // If there are no more requests, kill the backup timer. | 1468 // If there are no more requests, kill the backup timer. |
| 1470 if (pending_requests_.empty()) | 1469 if (pending_requests_.empty()) |
| 1471 backup_job_timer_.Stop(); | 1470 backup_job_timer_.Stop(); |
| 1472 request->CrashIfInvalid(); | 1471 request->CrashIfInvalid(); |
| 1473 return request; | 1472 return request; |
| 1474 } | 1473 } |
| 1475 | 1474 |
| 1476 } // namespace internal | 1475 } // namespace internal |
| 1477 | 1476 |
| 1478 } // namespace net | 1477 } // namespace net |
| OLD | NEW |