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

Unified Diff: net/quic/chromium/quic_stream_factory.cc

Issue 2650943007: Track QuicChromiumClientSession in net/ MemoryDumpProvider (Closed)
Patch Set: address ssid comments 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/quic/chromium/quic_stream_factory.cc
diff --git a/net/quic/chromium/quic_stream_factory.cc b/net/quic/chromium/quic_stream_factory.cc
index bee0b0ef2f7976f5bc3893aeadf3f1a700bd4da5..f8837e19ed0c42d5277e80efd52a76e254a85176 100644
--- a/net/quic/chromium/quic_stream_factory.cc
+++ b/net/quic/chromium/quic_stream_factory.cc
@@ -19,6 +19,9 @@
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/threading/thread_task_runner_handle.h"
+#include "base/trace_event/memory_allocator_dump.h"
+#include "base/trace_event/memory_usage_estimator.h"
+#include "base/trace_event/process_memory_dump.h"
#include "base/trace_event/trace_event.h"
#include "base/values.h"
#include "crypto/openssl_util.h"
@@ -897,6 +900,24 @@ void QuicStreamFactory::set_quic_server_info_factory(
quic_server_info_factory_.reset(quic_server_info_factory);
}
+void QuicStreamFactory::DumpMemoryStats(
+ base::trace_event::ProcessMemoryDump* pmd,
+ const std::string& parent_absolute_name) const {
+ if (all_sessions_.empty())
+ return;
+ base::trace_event::MemoryAllocatorDump* factory_dump =
+ pmd->CreateAllocatorDump(parent_absolute_name + "/quic_stream_factory");
+ size_t memory_estimate =
+ base::trace_event::EstimateMemoryUsage(all_sessions_);
+ factory_dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameSize,
+ base::trace_event::MemoryAllocatorDump::kUnitsBytes,
+ memory_estimate);
+ factory_dump->AddScalar(
+ base::trace_event::MemoryAllocatorDump::kNameObjectCount,
+ base::trace_event::MemoryAllocatorDump::kUnitsObjects,
+ all_sessions_.size());
+}
+
bool QuicStreamFactory::CanUseExistingSession(const QuicServerId& server_id,
const HostPortPair& destination) {
// TODO(zhongyi): delete active_sessions_.empty() checks once the
@@ -1047,6 +1068,11 @@ bool QuicStreamFactory::QuicSessionKey::operator==(
server_id_ == other.server_id_;
}
+size_t QuicStreamFactory::QuicSessionKey::EstimateMemoryUsage() const {
+ // Return 0 because QuicSessionKey is very small.
+ return 0;
+}
+
void QuicStreamFactory::CreateAuxilaryJob(const QuicSessionKey& key,
int cert_verify_flags,
const NetLogWithSource& net_log) {
« net/quic/chromium/quic_chromium_client_session.cc ('K') | « net/quic/chromium/quic_stream_factory.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698