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

Unified Diff: net/socket/client_socket_pool_base.cc

Issue 2623803002: Avoid creating MemoryAllocatorDump for individual sockets (Closed)
Patch Set: self review Created 3 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 side-by-side diff with in-line comments
Download patch
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..0a463eb883f2645a1fa8a25fdbd0c87245f9a92f 100644
--- a/net/socket/client_socket_pool_base.cc
+++ b/net/socket/client_socket_pool_base.cc
@@ -706,6 +706,11 @@ void ClientSocketPoolBaseHelper::DumpMemoryStats(
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;
+ StreamSocket::SocketMemoryStats aggregated_stats;
eroman 2017/01/11 02:19:58 Were you intending to use |aggregated_stats| in pl
xunjieli 2017/01/11 20:05:07 Done. Good catch! sorry about that.
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
@@ -713,14 +718,32 @@ void ClientSocketPoolBaseHelper::DumpMemoryStats(
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) {
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);
}
}

Powered by Google App Engine
This is Rietveld 408576698