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

Unified Diff: components/metrics/profiler/tracking_synchronizer.h

Issue 985773002: Introducing phased profiling framework (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@write_to_file
Patch Set: Only "API" Created 5 years, 9 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: components/metrics/profiler/tracking_synchronizer.h
diff --git a/components/metrics/profiler/tracking_synchronizer.h b/components/metrics/profiler/tracking_synchronizer.h
index fefe8d9457eb7c9e91798261f890cf3b7c9590d6..cb5d626bcb100489aea48a7d91a7c7be3c871640 100644
--- a/components/metrics/profiler/tracking_synchronizer.h
+++ b/components/metrics/profiler/tracking_synchronizer.h
@@ -13,6 +13,8 @@
#include "base/lazy_instance.h"
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
+#include "base/time/time.h"
+#include "components/metrics/proto/chrome_user_metrics_extension.pb.h"
#include "content/public/browser/profiler_subscriber.h"
// This class maintains state that is used to upload profiler data from the
@@ -109,6 +111,19 @@ class TrackingSynchronizer
// reuse for a long time).
int last_used_sequence_number_;
+ // Sequence of events associated with already completed profiling phases. The
+ // index in the vector is the phase number. The current phase is not included.
+ std::vector<ProfilerEventProto::ProfilerEvent>
Alexei Svitkine (slow) 2015/03/09 17:13:35 Don't you have a typedef for this in another file?
vadimt 2015/03/13 23:18:01 Yes. They are coincidentally same. I should be fre
+ phase_completion_events_sequence_;
+
+ // Time of the profiling start. Used to calculate times of phase change
+ // moments relative to this value.
+ const base::TimeTicks start_time_;
Ilya Sherman 2015/03/10 00:48:10 I think these two fields are only needed by the me
vadimt 2015/03/13 23:18:01 Can we get back to this once you see the not-yet i
Ilya Sherman 2015/03/14 00:02:31 Sure, we can come back to this. Please mark it so
vadimt 2015/03/14 01:39:15 Added a TODO note that I'll remove in the next CL,
+
+ // Times of starts of all profiling phases, including the current phase. The
+ // index in the vector is the phase number.
+ std::vector<base::TimeTicks> phase_start_times_;
Ilya Sherman 2015/03/10 00:48:10 I'd prefer to see the time deltas computed in //ba
vadimt 2015/03/13 23:18:01 We'll send one proto per phase. If each process pr
Ilya Sherman 2015/03/14 00:02:31 That suggests to me a flaw in our proto design, th
vadimt 2015/03/14 01:39:15 The alternative would be to send a proto per every
+
DISALLOW_COPY_AND_ASSIGN(TrackingSynchronizer);
};

Powered by Google App Engine
This is Rietveld 408576698