summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net
diff options
context:
space:
mode:
authormmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-17 18:53:02 +0000
committermmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-17 18:53:02 +0000
commit9eb8cdff6c4e93d2609ee9a12cbd6b3dfa8b7d7f (patch)
treea3024687f2041d1f464aeb073d289c1bb7daae74 /chrome/browser/net
parentd767b2c624529faef3bf78230f8873e91b244868 (diff)
downloadchromium_src-9eb8cdff6c4e93d2609ee9a12cbd6b3dfa8b7d7f.zip
chromium_src-9eb8cdff6c4e93d2609ee9a12cbd6b3dfa8b7d7f.tar.gz
chromium_src-9eb8cdff6c4e93d2609ee9a12cbd6b3dfa8b7d7f.tar.bz2
Adds memory cache logging, and updates disk cache logging.
Memory and disk cache use the same set of events, with the same parameters (Though the disk cache has a couple events the memory cache does not). Most disk cache events were renamed so as to no longer imply a connection to the disk cache, and all disk cache-related NetLog parameter class definitions were moved to a new file, since they're shared by both entry type. BUG=59382 TEST=none Review URL: http://codereview.chromium.org/6613027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78572 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net')
-rw-r--r--chrome/browser/net/passive_log_collector.cc28
-rw-r--r--chrome/browser/net/passive_log_collector.h17
2 files changed, 44 insertions, 1 deletions
diff --git a/chrome/browser/net/passive_log_collector.cc b/chrome/browser/net/passive_log_collector.cc
index a4f8b5b..3cc1353 100644
--- a/chrome/browser/net/passive_log_collector.cc
+++ b/chrome/browser/net/passive_log_collector.cc
@@ -71,6 +71,7 @@ PassiveLogCollector::PassiveLogCollector()
&dns_request_tracker_;
trackers_[net::NetLog::SOURCE_HOST_RESOLVER_IMPL_JOB] = &dns_job_tracker_;
trackers_[net::NetLog::SOURCE_DISK_CACHE_ENTRY] = &disk_cache_entry_tracker_;
+ trackers_[net::NetLog::SOURCE_MEMORY_CACHE_ENTRY] = &mem_cache_entry_tracker_;
trackers_[net::NetLog::SOURCE_HTTP_STREAM_JOB] = &http_stream_job_tracker_;
// Make sure our mapping is up-to-date.
for (size_t i = 0; i < arraysize(trackers_); ++i)
@@ -578,7 +579,32 @@ PassiveLogCollector::DiskCacheEntryTracker::DoAddEntry(
AddEntryToSourceInfo(entry, out_info);
// If the request has ended, move it to the graveyard.
- if (entry.type == net::NetLog::TYPE_DISK_CACHE_ENTRY &&
+ if (entry.type == net::NetLog::TYPE_DISK_CACHE_ENTRY_IMPL &&
+ entry.phase == net::NetLog::PHASE_END) {
+ return ACTION_MOVE_TO_GRAVEYARD;
+ }
+
+ return ACTION_NONE;
+}
+
+//----------------------------------------------------------------------------
+// MemCacheEntryTracker
+//----------------------------------------------------------------------------
+
+const size_t PassiveLogCollector::MemCacheEntryTracker::kMaxNumSources = 100;
+const size_t PassiveLogCollector::MemCacheEntryTracker::kMaxGraveyardSize = 25;
+
+PassiveLogCollector::MemCacheEntryTracker::MemCacheEntryTracker()
+ : SourceTracker(kMaxNumSources, kMaxGraveyardSize, NULL) {
+}
+
+PassiveLogCollector::SourceTracker::Action
+PassiveLogCollector::MemCacheEntryTracker::DoAddEntry(
+ const ChromeNetLog::Entry& entry, SourceInfo* out_info) {
+ AddEntryToSourceInfo(entry, out_info);
+
+ // If the request has ended, move it to the graveyard.
+ if (entry.type == net::NetLog::TYPE_DISK_CACHE_MEM_ENTRY_IMPL &&
entry.phase == net::NetLog::PHASE_END) {
return ACTION_MOVE_TO_GRAVEYARD;
}
diff --git a/chrome/browser/net/passive_log_collector.h b/chrome/browser/net/passive_log_collector.h
index 6c39ae9..d407b86 100644
--- a/chrome/browser/net/passive_log_collector.h
+++ b/chrome/browser/net/passive_log_collector.h
@@ -312,6 +312,22 @@ class PassiveLogCollector : public ChromeNetLog::ThreadSafeObserver {
DISALLOW_COPY_AND_ASSIGN(DiskCacheEntryTracker);
};
+ // Tracks the log entries for the last seen SOURCE_DISK_CACHE_ENTRY.
+ class MemCacheEntryTracker : public SourceTracker {
+ public:
+ static const size_t kMaxNumSources;
+ static const size_t kMaxGraveyardSize;
+
+ MemCacheEntryTracker();
+
+ protected:
+ virtual Action DoAddEntry(const ChromeNetLog::Entry& entry,
+ SourceInfo* out_info);
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MemCacheEntryTracker);
+ };
+
class HttpStreamJobTracker : public SourceTracker {
public:
static const size_t kMaxNumSources;
@@ -363,6 +379,7 @@ class PassiveLogCollector : public ChromeNetLog::ThreadSafeObserver {
DNSRequestTracker dns_request_tracker_;
DNSJobTracker dns_job_tracker_;
DiskCacheEntryTracker disk_cache_entry_tracker_;
+ MemCacheEntryTracker mem_cache_entry_tracker_;
HttpStreamJobTracker http_stream_job_tracker_;
// This array maps each NetLog::SourceType to one of the tracker instances