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

Unified Diff: chrome/browser/net/passive_log_collector.h

Issue 1560025: Initialize the new net internals page using the passively collected log entri... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Add missing unittest file Created 10 years, 8 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
« no previous file with comments | « chrome/browser/dom_ui/net_internals_ui.cc ('k') | chrome/browser/net/passive_log_collector.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/net/passive_log_collector.h
===================================================================
--- chrome/browser/net/passive_log_collector.h (revision 44225)
+++ chrome/browser/net/passive_log_collector.h (working copy)
@@ -8,15 +8,41 @@
#include <vector>
#include "base/hash_tables.h"
+#include "base/time.h"
+#include "base/ref_counted.h"
#include "chrome/browser/net/chrome_net_log.h"
#include "net/base/net_log.h"
class PassiveLogCollector : public ChromeNetLog::Observer {
public:
+ // This structure encapsulates all of the parameters of a captured event,
+ // including an "order" field that identifies when it was captured relative
+ // to other events.
+ struct Entry {
+ Entry(int order,
+ net::NetLog::EventType type,
+ const base::TimeTicks& time,
+ net::NetLog::Source source,
+ net::NetLog::EventPhase phase,
+ net::NetLog::EventParameters* extra_parameters)
+ : order(order), type(type), time(time), source(source), phase(phase),
+ extra_parameters(extra_parameters) {
+ }
+
+ int order;
+ net::NetLog::EventType type;
+ base::TimeTicks time;
+ net::NetLog::Source source;
+ net::NetLog::EventPhase phase;
+ scoped_refptr<net::NetLog::EventParameters> extra_parameters;
+ };
+
+ typedef std::vector<Entry> EntryList;
+
struct RequestInfo {
RequestInfo() : num_entries_truncated(0) {}
std::string url;
- net::CapturingNetLog::EntryList entries;
+ EntryList entries;
size_t num_entries_truncated;
};
@@ -28,7 +54,7 @@
public:
explicit RequestTrackerBase(size_t max_graveyard_size);
- void OnAddEntry(const net::CapturingNetLog::Entry& entry);
+ void OnAddEntry(const Entry& entry);
RequestInfoList GetLiveRequests() const;
void ClearRecentlyDeceased();
@@ -39,6 +65,9 @@
void Clear();
+ // Appends all the captured entries to |out|. The ordering is undefined.
+ void AppendAllEntries(EntryList* out) const;
+
const RequestInfo* GetRequestInfoFromGraveyard(int id) const;
protected:
@@ -50,8 +79,7 @@
// Updates |out_info| with the information from |entry|. Returns an action
// to perform for this map entry on completion.
- virtual Action DoAddEntry(const net::CapturingNetLog::Entry& entry,
- RequestInfo* out_info) = 0;
+ virtual Action DoAddEntry(const Entry& entry, RequestInfo* out_info) = 0;
bool is_unbounded() const { return is_unbounded_; }
@@ -78,8 +106,7 @@
ConnectJobTracker();
protected:
- virtual Action DoAddEntry(const net::CapturingNetLog::Entry& entry,
- RequestInfo* out_info);
+ virtual Action DoAddEntry(const Entry& entry, RequestInfo* out_info);
private:
DISALLOW_COPY_AND_ASSIGN(ConnectJobTracker);
};
@@ -93,14 +120,12 @@
explicit RequestTracker(ConnectJobTracker* connect_job_tracker);
protected:
- virtual Action DoAddEntry(const net::CapturingNetLog::Entry& entry,
- RequestInfo* out_info);
+ virtual Action DoAddEntry(const Entry& entry, RequestInfo* out_info);
private:
// Searches through |connect_job_tracker_| for information on the
// ConnectJob specified in |entry|, and appends it to |live_entry|.
- void AddConnectJobInfo(const net::CapturingNetLog::Entry& entry,
- RequestInfo* live_entry);
+ void AddConnectJobInfo(const Entry& entry, RequestInfo* live_entry);
ConnectJobTracker* connect_job_tracker_;
@@ -112,14 +137,14 @@
public:
InitProxyResolverTracker();
- void OnAddEntry(const net::CapturingNetLog::Entry& entry);
+ void OnAddEntry(const Entry& entry);
- const net::CapturingNetLog::EntryList& entries() const {
+ const EntryList& entries() const {
return entries_;
}
private:
- net::CapturingNetLog::EntryList entries_;
+ EntryList entries_;
DISALLOW_COPY_AND_ASSIGN(InitProxyResolverTracker);
};
@@ -148,12 +173,20 @@
return &init_proxy_resolver_tracker_;
}
+ // Fills |out| with the full list of events that have been passively
+ // captured. The list is ordered by capture time.
+ void GetAllCapturedEvents(EntryList* out) const;
+
private:
ConnectJobTracker connect_job_tracker_;
RequestTracker url_request_tracker_;
RequestTracker socket_stream_tracker_;
InitProxyResolverTracker init_proxy_resolver_tracker_;
+ // The count of how many events have flowed through this log. Used to set the
+ // "order" field on captured events.
+ int num_events_seen_;
+
DISALLOW_COPY_AND_ASSIGN(PassiveLogCollector);
};
« no previous file with comments | « chrome/browser/dom_ui/net_internals_ui.cc ('k') | chrome/browser/net/passive_log_collector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698