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

Unified Diff: chrome/browser/metrics/metrics_service.h

Issue 293393010: Move initial metrics gathering tasks out of MetricsService. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes Created 6 years, 7 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: chrome/browser/metrics/metrics_service.h
diff --git a/chrome/browser/metrics/metrics_service.h b/chrome/browser/metrics/metrics_service.h
index 229ea91fee60fac03d675cbc4e3f8543f96cddd1..4d97d31db016ce850dffb6ffdc6f6f98494dfa35 100644
--- a/chrome/browser/metrics/metrics_service.h
+++ b/chrome/browser/metrics/metrics_service.h
@@ -27,18 +27,15 @@
#include "base/threading/thread_checker.h"
#include "base/time/time.h"
#include "chrome/browser/metrics/metrics_log.h"
-#include "chrome/browser/metrics/tracking_synchronizer_observer.h"
#include "components/metrics/metrics_log_manager.h"
#include "components/metrics/metrics_provider.h"
#include "components/metrics/metrics_service_observer.h"
#include "components/variations/active_field_trials.h"
#include "net/url_request/url_fetcher_delegate.h"
-class GoogleUpdateMetricsProviderWin;
class MetricsReportingScheduler;
class PrefService;
class PrefRegistrySimple;
-class PluginMetricsProvider;
namespace base {
class DictionaryValue;
@@ -89,7 +86,6 @@ struct SyntheticTrialGroup {
class MetricsService
: public base::HistogramFlattener,
- public chrome_browser_metrics::TrackingSynchronizerObserver,
public net::URLFetcherDelegate {
public:
// The execution phase of the browser.
@@ -233,6 +229,12 @@ class MetricsService
void CheckForClonedInstall(
scoped_refptr<base::SingleThreadTaskRunner> task_runner);
+ // Records the passed profiled data, which should be a snapshot of the
+ // browser's profiled performance during startup for a single process.
+ void RecordProfilerData(
Alexei Svitkine (slow) 2014/05/27 20:50:00 Hmm, I'm not super keen on exposing this like so.
+ const tracked_objects::ProcessDataSnapshot& process_data,
+ int process_type);
+
protected:
// Exposed for testing.
metrics::MetricsLogManager* log_manager() { return &log_manager_; }
@@ -258,26 +260,12 @@ class MetricsService
typedef std::vector<SyntheticTrialGroup> SyntheticTrialGroups;
- // Callback that continues the init task by loading plugin information.
- void OnInitTaskGotHardwareClass();
-
- // Called after the Plugin init task has been completed that continues the
- // init task by launching a task to gather Google Update statistics.
- void OnInitTaskGotPluginInfo();
-
- // Called after GoogleUpdate init task has been completed that continues the
- // init task by loading profiler data.
- void OnInitTaskGotGoogleUpdateData();
+ // Callback that moves the state to INIT_TASK_DONE. When this is called, the
+ // state should be INIT_TASK_SCHEDULED.
+ void FinishedGatheringInitialMetrics();
void OnUserAction(const std::string& action);
- // TrackingSynchronizerObserver:
- virtual void ReceivedProfilerData(
- const tracked_objects::ProcessDataSnapshot& process_data,
- int process_type) OVERRIDE;
- // Callback that moves the state to INIT_TASK_DONE.
- virtual void FinishedReceivingProfilerData() OVERRIDE;
-
// Get the amount of uptime since this process started and since the last
// call to this function. Also updates the cumulative uptime metric (stored
// as a pref) for uninstall. Uptimes are measured using TimeTicks, which
@@ -437,14 +425,6 @@ class MetricsService
// Whether the initial stability log has been recorded during startup.
bool has_initial_stability_log_;
-#if defined(ENABLE_PLUGINS)
- PluginMetricsProvider* plugin_metrics_provider_;
-#endif
-
-#if defined(OS_WIN)
- GoogleUpdateMetricsProviderWin* google_update_metrics_provider_;
-#endif
-
// The initial metrics log, used to record startup metrics (histograms and
// profiler data). Note that if a crash occurred in the previous session, an
// initial stability log may be sent before this.

Powered by Google App Engine
This is Rietveld 408576698