summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-03 22:13:56 +0000
committereroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-03 22:13:56 +0000
commit448841d1c5c51a4df29ea04a4fa7373e354d56bc (patch)
treeb4b7f63a45f7cfe156a8a830c829f84359252451
parent022ac5e85697b21a1e0509856ce7dfa9ddc8e10f (diff)
downloadchromium_src-448841d1c5c51a4df29ea04a4fa7373e354d56bc.zip
chromium_src-448841d1c5c51a4df29ea04a4fa7373e354d56bc.tar.gz
chromium_src-448841d1c5c51a4df29ea04a4fa7373e354d56bc.tar.bz2
Address a TODO about renaming RequestInfo --> SourceInfo.
Review URL: http://codereview.chromium.org/2548003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48881 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/net/passive_log_collector.cc132
-rw-r--r--chrome/browser/net/passive_log_collector.h89
-rw-r--r--chrome/browser/net/passive_log_collector_unittest.cc122
3 files changed, 171 insertions, 172 deletions
diff --git a/chrome/browser/net/passive_log_collector.cc b/chrome/browser/net/passive_log_collector.cc
index 4c3e4973..921dfa2 100644
--- a/chrome/browser/net/passive_log_collector.cc
+++ b/chrome/browser/net/passive_log_collector.cc
@@ -17,10 +17,10 @@ namespace {
// TODO(eroman): Do something with the truncation count.
const size_t kMaxNumEntriesPerLog = 30;
-const size_t kMaxRequestsPerTracker = 200;
+const size_t kMaxSourcesPerTracker = 200;
-void AddEntryToRequestInfo(const PassiveLogCollector::Entry& entry,
- PassiveLogCollector::RequestInfo* out_info) {
+void AddEntryToSourceInfo(const PassiveLogCollector::Entry& entry,
+ PassiveLogCollector::SourceInfo* out_info) {
// Start dropping new entries when the log has gotten too big.
if (out_info->entries.size() + 1 <= kMaxNumEntriesPerLog) {
out_info->entries.push_back(entry);
@@ -75,12 +75,12 @@ void PassiveLogCollector::OnAddEntry(
// Package the parameters into a single struct for convenience.
Entry entry(num_events_seen_++, type, time, source, phase, params);
- RequestTrackerBase* tracker = GetTrackerForSourceType(entry.source.type);
+ SourceTracker* tracker = GetTrackerForSourceType(entry.source.type);
if (tracker)
tracker->OnAddEntry(entry);
}
-PassiveLogCollector::RequestTrackerBase*
+PassiveLogCollector::SourceTracker*
PassiveLogCollector::GetTrackerForSourceType(
net::NetLog::SourceType source_type) {
DCHECK_LE(source_type, static_cast<int>(arraysize(trackers_)));
@@ -105,7 +105,7 @@ void PassiveLogCollector::GetAllCapturedEvents(EntryList* out) const {
std::sort(out->begin(), out->end(), &SortByOrderComparator);
}
-std::string PassiveLogCollector::RequestInfo::GetURL() const {
+std::string PassiveLogCollector::SourceInfo::GetURL() const {
// Note: we look at the first *two* entries, since the outer REQUEST_ALIVE
// doesn't actually contain any data.
for (size_t i = 0; i < 2 && i < entries.size(); ++i) {
@@ -127,18 +127,18 @@ std::string PassiveLogCollector::RequestInfo::GetURL() const {
}
//----------------------------------------------------------------------------
-// RequestTrackerBase
+// SourceTracker
//----------------------------------------------------------------------------
-PassiveLogCollector::RequestTrackerBase::RequestTrackerBase(
+PassiveLogCollector::SourceTracker::SourceTracker(
size_t max_graveyard_size, PassiveLogCollector* parent)
: max_graveyard_size_(max_graveyard_size), parent_(parent) {
}
-PassiveLogCollector::RequestTrackerBase::~RequestTrackerBase() {}
+PassiveLogCollector::SourceTracker::~SourceTracker() {}
-void PassiveLogCollector::RequestTrackerBase::OnAddEntry(const Entry& entry) {
- RequestInfo& info = requests_[entry.source.id];
+void PassiveLogCollector::SourceTracker::OnAddEntry(const Entry& entry) {
+ SourceInfo& info = sources_[entry.source.id];
info.source_id = entry.source.id; // In case this is a new entry.
Action result = DoAddEntry(entry, &info);
@@ -153,7 +153,7 @@ void PassiveLogCollector::RequestTrackerBase::OnAddEntry(const Entry& entry) {
AddToDeletionQueue(info.source_id);
break;
case ACTION_DELETE:
- DeleteRequestInfo(info.source_id);
+ DeleteSourceInfo(info.source_id);
break;
default:
NOTREACHED();
@@ -162,7 +162,7 @@ void PassiveLogCollector::RequestTrackerBase::OnAddEntry(const Entry& entry) {
}
}
- if (requests_.size() > kMaxRequestsPerTracker) {
+ if (sources_.size() > kMaxSourcesPerTracker) {
// This is a safety net in case something went wrong, to avoid continually
// growing memory.
LOG(WARNING) << "The passive log data has grown larger "
@@ -171,71 +171,71 @@ void PassiveLogCollector::RequestTrackerBase::OnAddEntry(const Entry& entry) {
}
}
-void PassiveLogCollector::RequestTrackerBase::DeleteRequestInfo(
+void PassiveLogCollector::SourceTracker::DeleteSourceInfo(
uint32 source_id) {
- SourceIDToInfoMap::iterator it = requests_.find(source_id);
- DCHECK(it != requests_.end());
- // The request should not be in the deletion queue.
+ SourceIDToInfoMap::iterator it = sources_.find(source_id);
+ DCHECK(it != sources_.end());
+ // The source should not be in the deletion queue.
DCHECK(std::find(deletion_queue_.begin(), deletion_queue_.end(),
source_id) == deletion_queue_.end());
ReleaseAllReferencesToDependencies(&(it->second));
- requests_.erase(it);
+ sources_.erase(it);
}
-void PassiveLogCollector::RequestTrackerBase::Clear() {
+void PassiveLogCollector::SourceTracker::Clear() {
deletion_queue_.clear();
// Release all references held to dependent sources.
- for (SourceIDToInfoMap::iterator it = requests_.begin();
- it != requests_.end();
+ for (SourceIDToInfoMap::iterator it = sources_.begin();
+ it != sources_.end();
++it) {
ReleaseAllReferencesToDependencies(&(it->second));
}
- requests_.clear();
+ sources_.clear();
}
-void PassiveLogCollector::RequestTrackerBase::AppendAllEntries(
+void PassiveLogCollector::SourceTracker::AppendAllEntries(
EntryList* out) const {
// Append all of the entries for each of the sources.
- for (SourceIDToInfoMap::const_iterator it = requests_.begin();
- it != requests_.end();
+ for (SourceIDToInfoMap::const_iterator it = sources_.begin();
+ it != sources_.end();
++it) {
- const RequestInfo& info = it->second;
+ const SourceInfo& info = it->second;
out->insert(out->end(), info.entries.begin(), info.entries.end());
}
}
-void PassiveLogCollector::RequestTrackerBase::AddToDeletionQueue(
+void PassiveLogCollector::SourceTracker::AddToDeletionQueue(
uint32 source_id) {
- DCHECK(requests_.find(source_id) != requests_.end());
- DCHECK(!requests_.find(source_id)->second.is_alive);
- DCHECK_GE(requests_.find(source_id)->second.reference_count, 0);
+ DCHECK(sources_.find(source_id) != sources_.end());
+ DCHECK(!sources_.find(source_id)->second.is_alive);
+ DCHECK_GE(sources_.find(source_id)->second.reference_count, 0);
DCHECK_LE(deletion_queue_.size(), max_graveyard_size_);
deletion_queue_.push_back(source_id);
// After the deletion queue has reached its maximum size, start
- // deleting requests in FIFO order.
+ // deleting sources in FIFO order.
if (deletion_queue_.size() > max_graveyard_size_) {
uint32 oldest = deletion_queue_.front();
deletion_queue_.pop_front();
- DeleteRequestInfo(oldest);
+ DeleteSourceInfo(oldest);
}
}
-void PassiveLogCollector::RequestTrackerBase::AdjustReferenceCountForSource(
+void PassiveLogCollector::SourceTracker::AdjustReferenceCountForSource(
int offset, uint32 source_id) {
DCHECK(offset == -1 || offset == 1) << "invalid offset: " << offset;
// In general it is invalid to call AdjustReferenceCountForSource() on
// source that doesn't exist. However, it is possible that if
- // RequestTrackerBase::Clear() was previously called this can happen.
+ // SourceTracker::Clear() was previously called this can happen.
// TODO(eroman): Add a unit-test that exercises this case.
- SourceIDToInfoMap::iterator it = requests_.find(source_id);
- if (it == requests_.end())
+ SourceIDToInfoMap::iterator it = sources_.find(source_id);
+ if (it == sources_.end())
return;
- RequestInfo& info = it->second;
+ SourceInfo& info = it->second;
DCHECK_GE(info.reference_count, 0);
DCHECK_GE(info.reference_count + offset, 0);
info.reference_count += offset;
@@ -250,18 +250,18 @@ void PassiveLogCollector::RequestTrackerBase::AdjustReferenceCountForSource(
DCHECK(it != deletion_queue_.end());
deletion_queue_.erase(it);
} else if (info.reference_count == 0) {
- // If we just released the final reference to a dead request, go ahead
+ // If we just released the final reference to a dead source, go ahead
// and delete it right away.
- DeleteRequestInfo(source_id);
+ DeleteSourceInfo(source_id);
}
}
}
-void PassiveLogCollector::RequestTrackerBase::AddReferenceToSourceDependency(
- const net::NetLog::Source& source, RequestInfo* info) {
+void PassiveLogCollector::SourceTracker::AddReferenceToSourceDependency(
+ const net::NetLog::Source& source, SourceInfo* info) {
// Find the tracker which should be holding |source|.
DCHECK(parent_);
- RequestTrackerBase* tracker =
+ SourceTracker* tracker =
parent_->GetTrackerForSourceType(source.type);
DCHECK(tracker);
@@ -273,8 +273,8 @@ void PassiveLogCollector::RequestTrackerBase::AddReferenceToSourceDependency(
}
void
-PassiveLogCollector::RequestTrackerBase::ReleaseAllReferencesToDependencies(
- RequestInfo* info) {
+PassiveLogCollector::SourceTracker::ReleaseAllReferencesToDependencies(
+ SourceInfo* info) {
// Release all references |info| was holding to dependent sources.
for (SourceDependencyList::const_iterator it = info->dependencies.begin();
it != info->dependencies.end(); ++it) {
@@ -282,7 +282,7 @@ PassiveLogCollector::RequestTrackerBase::ReleaseAllReferencesToDependencies(
// Find the tracker which should be holding |source|.
DCHECK(parent_);
- RequestTrackerBase* tracker =
+ SourceTracker* tracker =
parent_->GetTrackerForSourceType(source.type);
DCHECK(tracker);
@@ -301,13 +301,13 @@ const size_t PassiveLogCollector::ConnectJobTracker::kMaxGraveyardSize = 15;
PassiveLogCollector::ConnectJobTracker::ConnectJobTracker(
PassiveLogCollector* parent)
- : RequestTrackerBase(kMaxGraveyardSize, parent) {
+ : SourceTracker(kMaxGraveyardSize, parent) {
}
-PassiveLogCollector::RequestTrackerBase::Action
+PassiveLogCollector::SourceTracker::Action
PassiveLogCollector::ConnectJobTracker::DoAddEntry(const Entry& entry,
- RequestInfo* out_info) {
- AddEntryToRequestInfo(entry, out_info);
+ SourceInfo* out_info) {
+ AddEntryToSourceInfo(entry, out_info);
if (entry.type == net::NetLog::TYPE_CONNECT_JOB_SET_SOCKET) {
const net::NetLog::Source& source_dependency =
@@ -315,7 +315,7 @@ PassiveLogCollector::ConnectJobTracker::DoAddEntry(const Entry& entry,
AddReferenceToSourceDependency(source_dependency, out_info);
}
- // If this is the end of the connect job, move the request to the graveyard.
+ // If this is the end of the connect job, move the source to the graveyard.
if (entry.type == net::NetLog::TYPE_SOCKET_POOL_CONNECT_JOB &&
entry.phase == net::NetLog::PHASE_END) {
return ACTION_MOVE_TO_GRAVEYARD;
@@ -331,12 +331,12 @@ PassiveLogCollector::ConnectJobTracker::DoAddEntry(const Entry& entry,
const size_t PassiveLogCollector::SocketTracker::kMaxGraveyardSize = 15;
PassiveLogCollector::SocketTracker::SocketTracker()
- : RequestTrackerBase(kMaxGraveyardSize, NULL) {
+ : SourceTracker(kMaxGraveyardSize, NULL) {
}
-PassiveLogCollector::RequestTrackerBase::Action
+PassiveLogCollector::SourceTracker::Action
PassiveLogCollector::SocketTracker::DoAddEntry(const Entry& entry,
- RequestInfo* out_info) {
+ SourceInfo* out_info) {
// TODO(eroman): aggregate the byte counts once truncation starts to happen,
// to summarize transaction read/writes for each SOCKET_IN_USE
// section.
@@ -345,7 +345,7 @@ PassiveLogCollector::SocketTracker::DoAddEntry(const Entry& entry,
return ACTION_NONE;
}
- AddEntryToRequestInfo(entry, out_info);
+ AddEntryToSourceInfo(entry, out_info);
if (entry.type == net::NetLog::TYPE_SOCKET_ALIVE &&
entry.phase == net::NetLog::PHASE_END) {
@@ -362,12 +362,12 @@ PassiveLogCollector::SocketTracker::DoAddEntry(const Entry& entry,
const size_t PassiveLogCollector::RequestTracker::kMaxGraveyardSize = 25;
PassiveLogCollector::RequestTracker::RequestTracker(PassiveLogCollector* parent)
- : RequestTrackerBase(kMaxGraveyardSize, parent) {
+ : SourceTracker(kMaxGraveyardSize, parent) {
}
-PassiveLogCollector::RequestTrackerBase::Action
+PassiveLogCollector::SourceTracker::Action
PassiveLogCollector::RequestTracker::DoAddEntry(const Entry& entry,
- RequestInfo* out_info) {
+ SourceInfo* out_info) {
if (entry.type == net::NetLog::TYPE_SOCKET_POOL_BOUND_TO_CONNECT_JOB ||
entry.type == net::NetLog::TYPE_SOCKET_POOL_BOUND_TO_SOCKET) {
const net::NetLog::Source& source_dependency =
@@ -375,7 +375,7 @@ PassiveLogCollector::RequestTracker::DoAddEntry(const Entry& entry,
AddReferenceToSourceDependency(source_dependency, out_info);
}
- AddEntryToRequestInfo(entry, out_info);
+ AddEntryToSourceInfo(entry, out_info);
// If the request has ended, move it to the graveyard.
if (entry.type == net::NetLog::TYPE_REQUEST_ALIVE &&
@@ -399,13 +399,13 @@ const size_t PassiveLogCollector::InitProxyResolverTracker::kMaxGraveyardSize =
3;
PassiveLogCollector::InitProxyResolverTracker::InitProxyResolverTracker()
- : RequestTrackerBase(kMaxGraveyardSize, NULL) {
+ : SourceTracker(kMaxGraveyardSize, NULL) {
}
-PassiveLogCollector::RequestTrackerBase::Action
+PassiveLogCollector::SourceTracker::Action
PassiveLogCollector::InitProxyResolverTracker::DoAddEntry(
- const Entry& entry, RequestInfo* out_info) {
- AddEntryToRequestInfo(entry, out_info);
+ const Entry& entry, SourceInfo* out_info) {
+ AddEntryToSourceInfo(entry, out_info);
if (entry.type == net::NetLog::TYPE_INIT_PROXY_RESOLVER &&
entry.phase == net::NetLog::PHASE_END) {
return ACTION_MOVE_TO_GRAVEYARD;
@@ -421,13 +421,13 @@ PassiveLogCollector::InitProxyResolverTracker::DoAddEntry(
const size_t PassiveLogCollector::SpdySessionTracker::kMaxGraveyardSize = 10;
PassiveLogCollector::SpdySessionTracker::SpdySessionTracker()
- : RequestTrackerBase(kMaxGraveyardSize, NULL) {
+ : SourceTracker(kMaxGraveyardSize, NULL) {
}
-PassiveLogCollector::RequestTrackerBase::Action
+PassiveLogCollector::SourceTracker::Action
PassiveLogCollector::SpdySessionTracker::DoAddEntry(const Entry& entry,
- RequestInfo* out_info) {
- AddEntryToRequestInfo(entry, out_info);
+ SourceInfo* out_info) {
+ AddEntryToSourceInfo(entry, out_info);
if (entry.type == net::NetLog::TYPE_SPDY_SESSION &&
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 a514428..7fcc281 100644
--- a/chrome/browser/net/passive_log_collector.h
+++ b/chrome/browser/net/passive_log_collector.h
@@ -17,7 +17,7 @@
#include "net/base/net_log.h"
// PassiveLogCollector watches the NetLog event stream, and saves the network
-// event for recent requests, in a circular buffer.
+// events for recent requests, in a circular buffer.
//
// This is done so that when a network problem is encountered (performance
// problem, or error), about:net-internals can be opened shortly after the
@@ -29,8 +29,8 @@
// about:net-internals is open).
//
// The data captured by PassiveLogCollector is grouped by NetLog::Source, into
-// a RequestInfo structure. These in turn are grouped by NetLog::SourceType, and
-// owned by a RequestTrackerBase instance for the specific source type.
+// a SourceInfo structure. These in turn are grouped by NetLog::SourceType, and
+// owned by a SourceTracker instance for the specific source type.
class PassiveLogCollector : public ChromeNetLog::Observer {
public:
// This structure encapsulates all of the parameters of a captured event,
@@ -58,9 +58,8 @@ class PassiveLogCollector : public ChromeNetLog::Observer {
typedef std::vector<Entry> EntryList;
typedef std::vector<net::NetLog::Source> SourceDependencyList;
- // TODO(eroman): Rename to SourceInfo.
- struct RequestInfo {
- RequestInfo()
+ struct SourceInfo {
+ SourceInfo()
: source_id(net::NetLog::Source::kInvalidId),
num_entries_truncated(0), reference_count(0), is_alive(true) {}
@@ -74,7 +73,7 @@ class PassiveLogCollector : public ChromeNetLog::Observer {
size_t num_entries_truncated;
// List of other sources which contain information relevant to this
- // request (for example, a url request might depend on the log items
+ // source (for example, a url request might depend on the log items
// for a connect job and for a socket that were bound to it.)
SourceDependencyList dependencies;
@@ -83,21 +82,21 @@ class PassiveLogCollector : public ChromeNetLog::Observer {
// can be deleted normally.
int reference_count;
- // |is_alive| is set to false once the request has been added to the
+ // |is_alive| is set to false once the source has been added to the
// tracker's graveyard (it may still be kept around due to a non-zero
// reference_count, but it is still considered "dead").
bool is_alive;
};
- typedef std::vector<RequestInfo> RequestInfoList;
+ typedef std::vector<SourceInfo> SourceInfoList;
// This class stores and manages the passively logged information for
// URLRequests/SocketStreams/ConnectJobs.
- class RequestTrackerBase {
+ class SourceTracker {
public:
- RequestTrackerBase(size_t max_graveyard_size, PassiveLogCollector* parent);
+ SourceTracker(size_t max_graveyard_size, PassiveLogCollector* parent);
- virtual ~RequestTrackerBase();
+ virtual ~SourceTracker();
void OnAddEntry(const Entry& entry);
@@ -109,11 +108,11 @@ class PassiveLogCollector : public ChromeNetLog::Observer {
#ifdef UNIT_TEST
// Helper used to inspect the current state by unit-tests.
- // Retuns a copy of the requests held by the tracker.
- RequestInfoList GetAllDeadOrAliveRequests(bool is_alive) const {
- RequestInfoList result;
- for (SourceIDToInfoMap::const_iterator it = requests_.begin();
- it != requests_.end(); ++it) {
+ // Retuns a copy of the source infos held by the tracker.
+ SourceInfoList GetAllDeadOrAliveSources(bool is_alive) const {
+ SourceInfoList result;
+ for (SourceIDToInfoMap::const_iterator it = sources_.begin();
+ it != sources_.end(); ++it) {
if (it->second.is_alive == is_alive)
result.push_back(it->second);
}
@@ -131,19 +130,19 @@ class PassiveLogCollector : public ChromeNetLog::Observer {
// Makes |info| hold a reference to |source|. This way |source| will be
// kept alive at least as long as |info|.
void AddReferenceToSourceDependency(const net::NetLog::Source& source,
- RequestInfo* info);
+ SourceInfo* info);
private:
- typedef base::hash_map<uint32, RequestInfo> SourceIDToInfoMap;
+ typedef base::hash_map<uint32, SourceInfo> SourceIDToInfoMap;
typedef std::deque<uint32> DeletionQueue;
// Updates |out_info| with the information from |entry|. Returns an action
// to perform for this map entry on completion.
- virtual Action DoAddEntry(const Entry& entry, RequestInfo* out_info) = 0;
+ virtual Action DoAddEntry(const Entry& entry, SourceInfo* out_info) = 0;
- // Removes |source_id| from |requests_|. This also releases any references
+ // Removes |source_id| from |sources_|. This also releases any references
// to dependencies held by this source.
- void DeleteRequestInfo(uint32 source_id);
+ void DeleteSourceInfo(uint32 source_id);
// Adds |source_id| to the FIFO queue (graveyard) for deletion.
void AddToDeletionQueue(uint32 source_id);
@@ -153,89 +152,89 @@ class PassiveLogCollector : public ChromeNetLog::Observer {
void AdjustReferenceCountForSource(int offset, uint32 source_id);
// Releases all the references to sources held by |info|.
- void ReleaseAllReferencesToDependencies(RequestInfo* info);
+ void ReleaseAllReferencesToDependencies(SourceInfo* info);
- // This map contains all of the requests being tracked by this tracker.
- // (It includes both the "live" requests, and the "dead" ones.)
- SourceIDToInfoMap requests_;
+ // This map contains all of the sources being tracked by this tracker.
+ // (It includes both the "live" sources, and the "dead" ones.)
+ SourceIDToInfoMap sources_;
size_t max_graveyard_size_;
- // FIFO queue for entries in |requests_| that are no longer alive, and
+ // FIFO queue for entries in |sources_| that are no longer alive, and
// can be deleted. This buffer is also called "graveyard" elsewhere. We
- // queue requests for deletion so they can persist a bit longer.
+ // queue sources for deletion so they can persist a bit longer.
DeletionQueue deletion_queue_;
PassiveLogCollector* parent_;
- DISALLOW_COPY_AND_ASSIGN(RequestTrackerBase);
+ DISALLOW_COPY_AND_ASSIGN(SourceTracker);
};
- // Specialization of RequestTrackerBase for handling ConnectJobs.
- class ConnectJobTracker : public RequestTrackerBase {
+ // Specialization of SourceTracker for handling ConnectJobs.
+ class ConnectJobTracker : public SourceTracker {
public:
static const size_t kMaxGraveyardSize;
explicit ConnectJobTracker(PassiveLogCollector* parent);
protected:
- virtual Action DoAddEntry(const Entry& entry, RequestInfo* out_info);
+ virtual Action DoAddEntry(const Entry& entry, SourceInfo* out_info);
private:
DISALLOW_COPY_AND_ASSIGN(ConnectJobTracker);
};
- // Specialization of RequestTrackerBase for handling Sockets.
- class SocketTracker : public RequestTrackerBase {
+ // Specialization of SourceTracker for handling Sockets.
+ class SocketTracker : public SourceTracker {
public:
static const size_t kMaxGraveyardSize;
SocketTracker();
protected:
- virtual Action DoAddEntry(const Entry& entry, RequestInfo* out_info);
+ virtual Action DoAddEntry(const Entry& entry, SourceInfo* out_info);
private:
DISALLOW_COPY_AND_ASSIGN(SocketTracker);
};
- // Specialization of RequestTrackerBase for handling URLRequest/SocketStream.
- class RequestTracker : public RequestTrackerBase {
+ // Specialization of SourceTracker for handling URLRequest/SocketStream.
+ class RequestTracker : public SourceTracker {
public:
static const size_t kMaxGraveyardSize;
explicit RequestTracker(PassiveLogCollector* parent);
protected:
- virtual Action DoAddEntry(const Entry& entry, RequestInfo* out_info);
+ virtual Action DoAddEntry(const Entry& entry, SourceInfo* out_info);
private:
DISALLOW_COPY_AND_ASSIGN(RequestTracker);
};
- // Specialization of RequestTrackerBase for handling
+ // Specialization of SourceTracker for handling
// SOURCE_INIT_PROXY_RESOLVER.
- class InitProxyResolverTracker : public RequestTrackerBase {
+ class InitProxyResolverTracker : public SourceTracker {
public:
static const size_t kMaxGraveyardSize;
InitProxyResolverTracker();
protected:
- virtual Action DoAddEntry(const Entry& entry, RequestInfo* out_info);
+ virtual Action DoAddEntry(const Entry& entry, SourceInfo* out_info);
private:
DISALLOW_COPY_AND_ASSIGN(InitProxyResolverTracker);
};
// Tracks the log entries for the last seen SOURCE_SPDY_SESSION.
- class SpdySessionTracker : public RequestTrackerBase {
+ class SpdySessionTracker : public SourceTracker {
public:
static const size_t kMaxGraveyardSize;
SpdySessionTracker();
protected:
- virtual Action DoAddEntry(const Entry& entry, RequestInfo* out_info);
+ virtual Action DoAddEntry(const Entry& entry, SourceInfo* out_info);
private:
DISALLOW_COPY_AND_ASSIGN(SpdySessionTracker);
@@ -252,7 +251,7 @@ class PassiveLogCollector : public ChromeNetLog::Observer {
net::NetLog::EventParameters* params);
// Returns the tracker to use for sources of type |source_type|, or NULL.
- RequestTrackerBase* GetTrackerForSourceType(
+ SourceTracker* GetTrackerForSourceType(
net::NetLog::SourceType source_type);
// Clears all of the passively logged data.
@@ -276,7 +275,7 @@ class PassiveLogCollector : public ChromeNetLog::Observer {
// This array maps each NetLog::SourceType to one of the tracker instances
// defined above. Use of this array avoid duplicating the list of trackers
// elsewhere.
- RequestTrackerBase* trackers_[net::NetLog::SOURCE_COUNT];
+ SourceTracker* trackers_[net::NetLog::SOURCE_COUNT];
// The count of how many events have flowed through this log. Used to set the
// "order" field on captured events.
diff --git a/chrome/browser/net/passive_log_collector_unittest.cc b/chrome/browser/net/passive_log_collector_unittest.cc
index 3e0894c..aab7886 100644
--- a/chrome/browser/net/passive_log_collector_unittest.cc
+++ b/chrome/browser/net/passive_log_collector_unittest.cc
@@ -13,7 +13,7 @@
namespace {
typedef PassiveLogCollector::RequestTracker RequestTracker;
-typedef PassiveLogCollector::RequestInfoList RequestInfoList;
+typedef PassiveLogCollector::SourceInfoList SourceInfoList;
typedef PassiveLogCollector::SocketTracker SocketTracker;
using net::NetLog;
@@ -66,21 +66,21 @@ std::string GetStringParam(const PassiveLogCollector::Entry& entry) {
entry.params.get())->value();
}
-bool OrderBySourceID(const PassiveLogCollector::RequestInfo& a,
- const PassiveLogCollector::RequestInfo& b) {
+bool OrderBySourceID(const PassiveLogCollector::SourceInfo& a,
+ const PassiveLogCollector::SourceInfo& b) {
return a.source_id < b.source_id;
}
-RequestInfoList GetLiveRequests(
- const PassiveLogCollector::RequestTrackerBase& tracker) {
- RequestInfoList result = tracker.GetAllDeadOrAliveRequests(true);
+SourceInfoList GetLiveSources(
+ const PassiveLogCollector::SourceTracker& tracker) {
+ SourceInfoList result = tracker.GetAllDeadOrAliveSources(true);
std::sort(result.begin(), result.end(), &OrderBySourceID);
return result;
}
-RequestInfoList GetDeadRequests(
- const PassiveLogCollector::RequestTrackerBase& tracker) {
- RequestInfoList result = tracker.GetAllDeadOrAliveRequests(false);
+SourceInfoList GetDeadSources(
+ const PassiveLogCollector::SourceTracker& tracker) {
+ SourceInfoList result = tracker.GetAllDeadOrAliveSources(false);
std::sort(result.begin(), result.end(), &OrderBySourceID);
return result;
}
@@ -91,8 +91,8 @@ static const int kMaxNumLoadLogEntries = 1;
TEST(RequestTrackerTest, BasicBounded) {
RequestTracker tracker(NULL);
- EXPECT_EQ(0u, GetLiveRequests(tracker).size());
- EXPECT_EQ(0u, GetDeadRequests(tracker).size());
+ EXPECT_EQ(0u, GetLiveSources(tracker).size());
+ EXPECT_EQ(0u, GetDeadSources(tracker).size());
tracker.OnAddEntry(MakeStartLogEntry(1));
tracker.OnAddEntry(MakeStartLogEntry(2));
@@ -100,7 +100,7 @@ TEST(RequestTrackerTest, BasicBounded) {
tracker.OnAddEntry(MakeStartLogEntry(4));
tracker.OnAddEntry(MakeStartLogEntry(5));
- RequestInfoList live_reqs = GetLiveRequests(tracker);
+ SourceInfoList live_reqs = GetLiveSources(tracker);
ASSERT_EQ(5u, live_reqs.size());
EXPECT_EQ("http://req1/", live_reqs[0].GetURL());
@@ -113,9 +113,9 @@ TEST(RequestTrackerTest, BasicBounded) {
tracker.OnAddEntry(MakeEndLogEntry(5));
tracker.OnAddEntry(MakeEndLogEntry(3));
- ASSERT_EQ(3u, GetDeadRequests(tracker).size());
+ ASSERT_EQ(3u, GetDeadSources(tracker).size());
- live_reqs = GetLiveRequests(tracker);
+ live_reqs = GetLiveSources(tracker);
ASSERT_EQ(2u, live_reqs.size());
EXPECT_EQ("http://req2/", live_reqs[0].GetURL());
@@ -124,8 +124,8 @@ TEST(RequestTrackerTest, BasicBounded) {
TEST(RequestTrackerTest, GraveyardBounded) {
RequestTracker tracker(NULL);
- EXPECT_EQ(0u, GetLiveRequests(tracker).size());
- EXPECT_EQ(0u, GetDeadRequests(tracker).size());
+ EXPECT_EQ(0u, GetLiveSources(tracker).size());
+ EXPECT_EQ(0u, GetDeadSources(tracker).size());
// Add twice as many requests as will fit in the graveyard.
for (size_t i = 0; i < RequestTracker::kMaxGraveyardSize * 2; ++i) {
@@ -133,18 +133,18 @@ TEST(RequestTrackerTest, GraveyardBounded) {
tracker.OnAddEntry(MakeEndLogEntry(i));
}
- EXPECT_EQ(0u, GetLiveRequests(tracker).size());
+ EXPECT_EQ(0u, GetLiveSources(tracker).size());
// Check that only the last |kMaxGraveyardSize| requests are in-memory.
- RequestInfoList recent_reqs = GetDeadRequests(tracker);
+ SourceInfoList recent = GetDeadSources(tracker);
- ASSERT_EQ(RequestTracker::kMaxGraveyardSize, recent_reqs.size());
+ ASSERT_EQ(RequestTracker::kMaxGraveyardSize, recent.size());
for (size_t i = 0; i < RequestTracker::kMaxGraveyardSize; ++i) {
size_t req_number = i + RequestTracker::kMaxGraveyardSize;
std::string url = StringPrintf("http://req%" PRIuS "/", req_number);
- EXPECT_EQ(url, recent_reqs[i].GetURL());
+ EXPECT_EQ(url, recent[i].GetURL());
}
}
@@ -168,15 +168,15 @@ TEST(RequestTrackerTest, GraveyardIsFiltered) {
tracker.OnAddEntry(MakeStartLogEntryWithURL(3, url3));
tracker.OnAddEntry(MakeEndLogEntry(3));
- ASSERT_EQ(2u, GetDeadRequests(tracker).size());
- EXPECT_EQ(url2, GetDeadRequests(tracker)[0].GetURL());
- EXPECT_EQ(url3, GetDeadRequests(tracker)[1].GetURL());
+ ASSERT_EQ(2u, GetDeadSources(tracker).size());
+ EXPECT_EQ(url2, GetDeadSources(tracker)[0].GetURL());
+ EXPECT_EQ(url3, GetDeadSources(tracker)[1].GetURL());
}
TEST(SpdySessionTracker, MovesToGraveyard) {
PassiveLogCollector::SpdySessionTracker tracker;
- EXPECT_EQ(0u, GetLiveRequests(tracker).size());
- EXPECT_EQ(0u, GetDeadRequests(tracker).size());
+ EXPECT_EQ(0u, GetLiveSources(tracker).size());
+ EXPECT_EQ(0u, GetDeadSources(tracker).size());
PassiveLogCollector::Entry begin(
0u,
@@ -187,8 +187,8 @@ TEST(SpdySessionTracker, MovesToGraveyard) {
NULL);
tracker.OnAddEntry(begin);
- EXPECT_EQ(1u, GetLiveRequests(tracker).size());
- EXPECT_EQ(0u, GetDeadRequests(tracker).size());
+ EXPECT_EQ(1u, GetLiveSources(tracker).size());
+ EXPECT_EQ(0u, GetDeadSources(tracker).size());
PassiveLogCollector::Entry end(
0u,
@@ -199,8 +199,8 @@ TEST(SpdySessionTracker, MovesToGraveyard) {
NULL);
tracker.OnAddEntry(end);
- EXPECT_EQ(0u, GetLiveRequests(tracker).size());
- EXPECT_EQ(1u, GetDeadRequests(tracker).size());
+ EXPECT_EQ(0u, GetLiveSources(tracker).size());
+ EXPECT_EQ(1u, GetDeadSources(tracker).size());
}
// Test that when a SOURCE_SOCKET is connected to a SOURCE_URL_REQUEST
@@ -210,8 +210,8 @@ TEST(SpdySessionTracker, MovesToGraveyard) {
TEST(PassiveLogCollectorTest, HoldReferenceToDependentSource) {
PassiveLogCollector log;
- EXPECT_EQ(0u, GetLiveRequests(log.url_request_tracker_).size());
- EXPECT_EQ(0u, GetLiveRequests(log.socket_tracker_).size());
+ EXPECT_EQ(0u, GetLiveSources(log.url_request_tracker_).size());
+ EXPECT_EQ(0u, GetLiveSources(log.socket_tracker_).size());
uint32 next_id = 0;
NetLog::Source socket_source(NetLog::SOURCE_SOCKET, next_id++);
@@ -224,8 +224,8 @@ TEST(PassiveLogCollectorTest, HoldReferenceToDependentSource) {
NetLog::PHASE_BEGIN,
NULL);
- EXPECT_EQ(0u, GetLiveRequests(log.url_request_tracker_).size());
- EXPECT_EQ(1u, GetLiveRequests(log.socket_tracker_).size());
+ EXPECT_EQ(0u, GetLiveSources(log.url_request_tracker_).size());
+ EXPECT_EQ(1u, GetLiveSources(log.socket_tracker_).size());
// Start a SOURCE_URL_REQUEST.
log.OnAddEntry(NetLog::TYPE_REQUEST_ALIVE,
@@ -236,17 +236,17 @@ TEST(PassiveLogCollectorTest, HoldReferenceToDependentSource) {
// Check that there is no association between the SOURCE_URL_REQUEST and the
// SOURCE_SOCKET yet.
- ASSERT_EQ(1u, GetLiveRequests(log.url_request_tracker_).size());
+ ASSERT_EQ(1u, GetLiveSources(log.url_request_tracker_).size());
{
- PassiveLogCollector::RequestInfo info =
- GetLiveRequests(log.url_request_tracker_)[0];
+ PassiveLogCollector::SourceInfo info =
+ GetLiveSources(log.url_request_tracker_)[0];
EXPECT_EQ(0, info.reference_count);
EXPECT_EQ(0u, info.dependencies.size());
}
- ASSERT_EQ(1u, GetLiveRequests(log.socket_tracker_).size());
+ ASSERT_EQ(1u, GetLiveSources(log.socket_tracker_).size());
{
- PassiveLogCollector::RequestInfo info =
- GetLiveRequests(log.socket_tracker_)[0];
+ PassiveLogCollector::SourceInfo info =
+ GetLiveSources(log.socket_tracker_)[0];
EXPECT_EQ(0, info.reference_count);
EXPECT_EQ(0u, info.dependencies.size());
}
@@ -260,18 +260,18 @@ TEST(PassiveLogCollectorTest, HoldReferenceToDependentSource) {
// Check that an associate was made -- the SOURCE_URL_REQUEST should have
// added a reference to the SOURCE_SOCKET.
- ASSERT_EQ(1u, GetLiveRequests(log.url_request_tracker_).size());
+ ASSERT_EQ(1u, GetLiveSources(log.url_request_tracker_).size());
{
- PassiveLogCollector::RequestInfo info =
- GetLiveRequests(log.url_request_tracker_)[0];
+ PassiveLogCollector::SourceInfo info =
+ GetLiveSources(log.url_request_tracker_)[0];
EXPECT_EQ(0, info.reference_count);
EXPECT_EQ(1u, info.dependencies.size());
EXPECT_EQ(socket_source.id, info.dependencies[0].id);
}
- ASSERT_EQ(1u, GetLiveRequests(log.socket_tracker_).size());
+ ASSERT_EQ(1u, GetLiveSources(log.socket_tracker_).size());
{
- PassiveLogCollector::RequestInfo info =
- GetLiveRequests(log.socket_tracker_)[0];
+ PassiveLogCollector::SourceInfo info =
+ GetLiveSources(log.socket_tracker_)[0];
EXPECT_EQ(1, info.reference_count);
EXPECT_EQ(0u, info.dependencies.size());
}
@@ -293,20 +293,20 @@ TEST(PassiveLogCollectorTest, HoldReferenceToDependentSource) {
// Verify that both sources are in fact dead, and that |source_url_request|
// still holds a reference to |source_socket|.
- ASSERT_EQ(0u, GetLiveRequests(log.url_request_tracker_).size());
- ASSERT_EQ(1u, GetDeadRequests(log.url_request_tracker_).size());
+ ASSERT_EQ(0u, GetLiveSources(log.url_request_tracker_).size());
+ ASSERT_EQ(1u, GetDeadSources(log.url_request_tracker_).size());
{
- PassiveLogCollector::RequestInfo info =
- GetDeadRequests(log.url_request_tracker_)[0];
+ PassiveLogCollector::SourceInfo info =
+ GetDeadSources(log.url_request_tracker_)[0];
EXPECT_EQ(0, info.reference_count);
EXPECT_EQ(1u, info.dependencies.size());
EXPECT_EQ(socket_source.id, info.dependencies[0].id);
}
- EXPECT_EQ(0u, GetLiveRequests(log.socket_tracker_).size());
- ASSERT_EQ(1u, GetDeadRequests(log.socket_tracker_).size());
+ EXPECT_EQ(0u, GetLiveSources(log.socket_tracker_).size());
+ ASSERT_EQ(1u, GetDeadSources(log.socket_tracker_).size());
{
- PassiveLogCollector::RequestInfo info =
- GetDeadRequests(log.socket_tracker_)[0];
+ PassiveLogCollector::SourceInfo info =
+ GetDeadSources(log.socket_tracker_)[0];
EXPECT_EQ(1, info.reference_count);
EXPECT_EQ(0u, info.dependencies.size());
}
@@ -321,12 +321,12 @@ TEST(PassiveLogCollectorTest, HoldReferenceToDependentSource) {
NULL);
}
- EXPECT_EQ(0u, GetLiveRequests(log.socket_tracker_).size());
+ EXPECT_EQ(0u, GetLiveSources(log.socket_tracker_).size());
ASSERT_EQ(SocketTracker::kMaxGraveyardSize + 1,
- GetDeadRequests(log.socket_tracker_).size());
+ GetDeadSources(log.socket_tracker_).size());
{
- PassiveLogCollector::RequestInfo info =
- GetDeadRequests(log.socket_tracker_)[0];
+ PassiveLogCollector::SourceInfo info =
+ GetDeadSources(log.socket_tracker_)[0];
EXPECT_EQ(socket_source.id, info.source_id);
EXPECT_EQ(1, info.reference_count);
EXPECT_EQ(0u, info.dependencies.size());
@@ -343,11 +343,11 @@ TEST(PassiveLogCollectorTest, HoldReferenceToDependentSource) {
NULL);
}
- EXPECT_EQ(0u, GetLiveRequests(log.url_request_tracker_).size());
+ EXPECT_EQ(0u, GetLiveSources(log.url_request_tracker_).size());
EXPECT_EQ(RequestTracker::kMaxGraveyardSize,
- GetDeadRequests(log.url_request_tracker_).size());
+ GetDeadSources(log.url_request_tracker_).size());
- EXPECT_EQ(0u, GetLiveRequests(log.socket_tracker_).size());
+ EXPECT_EQ(0u, GetLiveSources(log.socket_tracker_).size());
EXPECT_EQ(SocketTracker::kMaxGraveyardSize,
- GetDeadRequests(log.socket_tracker_).size());
+ GetDeadSources(log.socket_tracker_).size());
}