Index: net/socket/client_socket_pool_base.cc |
diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc |
index 252ca294d4c76536297089003726cca5dac043d1..c5427ccf7a621906788859ab7d4bb647d90539ed 100644 |
--- a/net/socket/client_socket_pool_base.cc |
+++ b/net/socket/client_socket_pool_base.cc |
@@ -704,23 +704,43 @@ ClientSocketPoolBaseHelper::GetInfoAsValue(const std::string& name, |
void ClientSocketPoolBaseHelper::DumpMemoryStats( |
base::trace_event::ProcessMemoryDump* pmd, |
const std::string& parent_dump_absolute_name) const { |
- base::trace_event::MemoryAllocatorDump* socket_pool_dump = nullptr; |
size_t socket_count = 0; |
+ size_t total_size = 0; |
+ size_t buffer_size = 0; |
+ size_t cert_count = 0; |
+ size_t serialized_cert_size = 0; |
for (const auto& kv : group_map_) { |
for (const auto& socket : kv.second->idle_sockets()) { |
- // Only create a MemoryAllocatorDump if there is at least one idle socket |
- if (!socket_pool_dump) { |
- socket_pool_dump = pmd->CreateAllocatorDump(base::StringPrintf( |
- "%s/socket_pool", parent_dump_absolute_name.c_str())); |
- } |
- socket.socket->DumpMemoryStats(pmd, socket_pool_dump->absolute_name()); |
+ StreamSocket::SocketMemoryStats stats; |
+ socket.socket->DumpMemoryStats(&stats); |
+ total_size += stats.total_size; |
+ buffer_size += stats.buffer_size; |
+ cert_count += stats.cert_count; |
+ serialized_cert_size += stats.serialized_cert_size; |
++socket_count; |
} |
} |
- if (socket_pool_dump) { |
+ // Only create a MemoryAllocatorDump if there is at least one idle socket |
+ if (socket_count > 0) { |
+ base::trace_event::MemoryAllocatorDump* socket_pool_dump = |
+ pmd->CreateAllocatorDump(base::StringPrintf( |
+ "%s/socket_pool", parent_dump_absolute_name.c_str())); |
+ socket_pool_dump->AddScalar( |
+ base::trace_event::MemoryAllocatorDump::kNameSize, |
+ base::trace_event::MemoryAllocatorDump::kUnitsBytes, total_size); |
socket_pool_dump->AddScalar( |
base::trace_event::MemoryAllocatorDump::kNameObjectCount, |
base::trace_event::MemoryAllocatorDump::kUnitsObjects, socket_count); |
+ socket_pool_dump->AddScalar( |
+ "buffer_size", base::trace_event::MemoryAllocatorDump::kUnitsBytes, |
+ buffer_size); |
+ socket_pool_dump->AddScalar( |
+ "cert_count", base::trace_event::MemoryAllocatorDump::kUnitsObjects, |
+ cert_count); |
+ socket_pool_dump->AddScalar( |
+ "serialized_cert_size", |
+ base::trace_event::MemoryAllocatorDump::kUnitsBytes, |
+ serialized_cert_size); |
} |
} |