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

Side by Side Diff: chrome/browser/metrics/metrics_log.h

Issue 282093012: Remove dependencies of Metrics{Service,Log} on g_browser_process->local_state() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove cruft 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file defines a set of user experience metrics data recorded by 5 // This file defines a set of user experience metrics data recorded by
6 // the MetricsService. This is the unit of data that is sent to the server. 6 // the MetricsService. This is the unit of data that is sent to the server.
7 7
8 #ifndef CHROME_BROWSER_METRICS_METRICS_LOG_H_ 8 #ifndef CHROME_BROWSER_METRICS_METRICS_LOG_H_
9 #define CHROME_BROWSER_METRICS_METRICS_LOG_H_ 9 #define CHROME_BROWSER_METRICS_METRICS_LOG_H_
10 10
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 GoogleUpdateSettings::ProductData google_update_data; 62 GoogleUpdateSettings::ProductData google_update_data;
63 // Details about Google Update's attempts to update this product. 63 // Details about Google Update's attempts to update this product.
64 GoogleUpdateSettings::ProductData product_data; 64 GoogleUpdateSettings::ProductData product_data;
65 }; 65 };
66 66
67 class MetricsLog : public metrics::MetricsLogBase { 67 class MetricsLog : public metrics::MetricsLogBase {
68 public: 68 public:
69 // Creates a new metrics log of the specified type. 69 // Creates a new metrics log of the specified type.
70 // client_id is the identifier for this profile on this installation 70 // client_id is the identifier for this profile on this installation
71 // session_id is an integer that's incremented on each application launch 71 // session_id is an integer that's incremented on each application launch
72 MetricsLog(const std::string& client_id, int session_id, LogType log_type); 72 // |local_state| is the PrefService that this instance should use.
73 MetricsLog(const std::string& client_id,
74 int session_id,
75 LogType log_type,
76 PrefService* local_state);
73 virtual ~MetricsLog(); 77 virtual ~MetricsLog();
74 78
75 static void RegisterPrefs(PrefRegistrySimple* registry); 79 static void RegisterPrefs(PrefRegistrySimple* registry);
76 80
77 // Get the current version of the application as a string. 81 // Get the current version of the application as a string.
78 static std::string GetVersionString(); 82 static std::string GetVersionString();
79 83
80 // Use |extension| in all uploaded appversions in addition to the standard 84 // Use |extension| in all uploaded appversions in addition to the standard
81 // version string. 85 // version string.
82 static void set_version_extension(const std::string& extension); 86 static void set_version_extension(const std::string& extension);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 void RecordStabilityMetrics(base::TimeDelta incremental_uptime, 123 void RecordStabilityMetrics(base::TimeDelta incremental_uptime,
120 base::TimeDelta uptime); 124 base::TimeDelta uptime);
121 125
122 const base::TimeTicks& creation_time() const { 126 const base::TimeTicks& creation_time() const {
123 return creation_time_; 127 return creation_time_;
124 } 128 }
125 129
126 protected: 130 protected:
127 // Exposed for the sake of mocking in test code. 131 // Exposed for the sake of mocking in test code.
128 132
129 // Returns the PrefService from which to log metrics data.
130 virtual PrefService* GetPrefService();
131
132 // Returns the screen size for the primary monitor. 133 // Returns the screen size for the primary monitor.
133 virtual gfx::Size GetScreenSize() const; 134 virtual gfx::Size GetScreenSize() const;
134 135
135 // Returns the device scale factor for the primary monitor. 136 // Returns the device scale factor for the primary monitor.
136 virtual float GetScreenDeviceScaleFactor() const; 137 virtual float GetScreenDeviceScaleFactor() const;
137 138
138 // Returns the number of monitors the user is using. 139 // Returns the number of monitors the user is using.
139 virtual int GetScreenCount() const; 140 virtual int GetScreenCount() const;
140 141
141 // Fills |field_trial_ids| with the list of initialized field trials name and 142 // Fills |field_trial_ids| with the list of initialized field trials name and
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 183
183 // Observes network state to provide values for SystemProfile::Network. 184 // Observes network state to provide values for SystemProfile::Network.
184 MetricsNetworkObserver network_observer_; 185 MetricsNetworkObserver network_observer_;
185 186
186 // The time when the current log was created. 187 // The time when the current log was created.
187 const base::TimeTicks creation_time_; 188 const base::TimeTicks creation_time_;
188 189
189 // For including information on which extensions are installed in reports. 190 // For including information on which extensions are installed in reports.
190 HashedExtensionMetrics extension_metrics_; 191 HashedExtensionMetrics extension_metrics_;
191 192
193 PrefService* local_state_;
194
192 DISALLOW_COPY_AND_ASSIGN(MetricsLog); 195 DISALLOW_COPY_AND_ASSIGN(MetricsLog);
193 }; 196 };
194 197
195 #endif // CHROME_BROWSER_METRICS_METRICS_LOG_H_ 198 #endif // CHROME_BROWSER_METRICS_METRICS_LOG_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698