Chrome: Enable ChromeOS-Wide-Profiling

We want to gather perf data collected by running "perf record -a" from opt-in
ChromeOS users. This CL enables that.

We use debugd in ChromeOS to run quipper, a program that runs "perf record -a"
and returns that data in a protobuf. We do this every 12 hours for 2 seconds.
The overhead is minimal (5% slowdown for 2 seconds on "lumpy" machines).

BUG=157508
TEST=Manual:
Change the perf record interval from 12 hours to 1 minute and set a
breakpoint on ParseProtoIfValid(). It gets hit and the protobuf is parsed
properly.


Review URL: https://chromiumcodereview.appspot.com/11185038

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180484 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/metrics/metrics_log.h b/chrome/browser/metrics/metrics_log.h
index 4d956506..afb1cb4 100644
--- a/chrome/browser/metrics/metrics_log.h
+++ b/chrome/browser/metrics/metrics_log.h
@@ -17,6 +17,10 @@
 #include "content/public/common/process_type.h"
 #include "ui/gfx/size.h"
 
+#if defined(OS_CHROMEOS)
+#include "chrome/browser/metrics/perf_provider_chromeos.h"
+#endif
+
 struct AutocompleteLog;
 class PrefService;
 class PrefServiceSimple;
@@ -189,6 +193,9 @@
   // Registers as observer with net::NetworkChangeNotifier and keeps track of
   // the network environment.
   scoped_ptr<NetworkObserver> network_observer_;
+#if defined(OS_CHROMEOS)
+  metrics::PerfProvider perf_provider_;
+#endif
 
   DISALLOW_COPY_AND_ASSIGN(MetricsLog);
 };