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

Unified Diff: base/tracked_objects.h

Issue 8548005: Adjust interfaces to indicate when tracking is in progress (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month 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 | « base/threading/worker_pool_win.cc ('k') | base/tracked_objects.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/tracked_objects.h
===================================================================
--- base/tracked_objects.h (revision 109839)
+++ base/tracked_objects.h (working copy)
@@ -26,7 +26,7 @@
// across a series of objects so that the counts and times can be rapidly
// updated without (usually) having to lock the data, and hence there is usually
// very little contention caused by the tracking. The data can be viewed via
-// the about:tracking URL, with a variety of sorting and filtering choices.
+// the about:profiler URL, with a variety of sorting and filtering choices.
//
// These classes serve as the basis of a profiler of sorts for the Tasks system.
// As a result, design decisions were made to maximize speed, by minimizing
@@ -118,7 +118,7 @@
//
// The above description tries to define the high performance (run time)
// portions of these classes. After gathering statistics, calls instigated
-// by visiting about:tracking will assemble and aggregate data for display. The
+// by visiting about:profiler will assemble and aggregate data for display. The
// following data structures are used for producing such displays. They are
// not performance critical, and their only major constraint is that they should
// be able to run concurrently with ongoing augmentation of the birth and death
@@ -153,7 +153,7 @@
// (example: how many threads are in a specific consecutive set of Snapshots?
// What was the total birth count for that set? etc.). Aggregation instances
// collect running sums of any set of snapshot instances, and are used to print
-// sub-totals in an about:tracking page.
+// sub-totals in an about:profiler page.
//
// TODO(jar): I need to store DataCollections, and provide facilities for taking
// the difference between two gathered DataCollections. For now, I'm just
@@ -663,6 +663,13 @@
static bool InitializeAndSetTrackingStatus(bool status);
static bool tracking_status();
+ // Special versions of Now() for getting times at start and end of a tracked
+ // run. They are super fast when tracking is disabled, and have some internal
+ // side effects when we are tracking, so that we can deduce the amount of time
+ // accumulated outside of execution of tracked runs.
+ static TrackedTime NowForStartOfRun();
+ static TrackedTime NowForEndOfRun();
+
// Provide a time function that does nothing (runs fast) when we don't have
// the profiler enabled. It will generally be optimized away when it is
// ifdef'ed to be small enough (allowing the profiler to be "compiled out" of
@@ -722,7 +729,7 @@
static base::ThreadLocalStorage::Slot tls_index_;
// Link to the most recently created instance (starts a null terminated list).
- // The list is traversed by about:tracking when it needs to snapshot data.
+ // The list is traversed by about:profiler when it needs to snapshot data.
// This is only accessed while list_lock_ is held.
static ThreadData* all_thread_data_list_head_;
// Set of ThreadData instances for use with worker threads. When a worker
« no previous file with comments | « base/threading/worker_pool_win.cc ('k') | base/tracked_objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698