| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 COMPONENTS_METRICS_METRICS_LOG_H_ | 8 #ifndef COMPONENTS_METRICS_METRICS_LOG_H_ |
| 9 #define COMPONENTS_METRICS_METRICS_LOG_H_ | 9 #define COMPONENTS_METRICS_METRICS_LOG_H_ |
| 10 | 10 |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 // Records the current operating environment, including metrics provided by | 90 // Records the current operating environment, including metrics provided by |
| 91 // the specified set of |metrics_providers|. Takes the list of installed | 91 // the specified set of |metrics_providers|. Takes the list of installed |
| 92 // plugins, Google Update statistics, and synthetic trial IDs as parameters | 92 // plugins, Google Update statistics, and synthetic trial IDs as parameters |
| 93 // because those can't be obtained synchronously from the UI thread. | 93 // because those can't be obtained synchronously from the UI thread. |
| 94 // A synthetic trial is one that is set up dynamically by code in Chrome. For | 94 // A synthetic trial is one that is set up dynamically by code in Chrome. For |
| 95 // example, a pref may be mapped to a synthetic trial such that the group | 95 // example, a pref may be mapped to a synthetic trial such that the group |
| 96 // is determined by the pref value. | 96 // is determined by the pref value. |
| 97 void RecordEnvironment( | 97 void RecordEnvironment( |
| 98 const std::vector<MetricsProvider*>& metrics_providers, | 98 const std::vector<MetricsProvider*>& metrics_providers, |
| 99 const std::vector<variations::ActiveGroupId>& synthetic_trials, | 99 const std::vector<variations::ActiveGroupId>& synthetic_trials, |
| 100 int64 install_date); | 100 int64 install_date, |
| 101 int64 metrics_reporting_enabled_date); |
| 101 | 102 |
| 102 // Loads the environment proto that was saved by the last RecordEnvironment() | 103 // Loads the environment proto that was saved by the last RecordEnvironment() |
| 103 // call from prefs and clears the pref value. Returns true on success or false | 104 // call from prefs and clears the pref value. Returns true on success or false |
| 104 // if there was no saved environment in prefs or it could not be decoded. | 105 // if there was no saved environment in prefs or it could not be decoded. |
| 105 bool LoadSavedEnvironmentFromPrefs(); | 106 bool LoadSavedEnvironmentFromPrefs(); |
| 106 | 107 |
| 107 // Writes application stability metrics, including stability metrics provided | 108 // Writes application stability metrics, including stability metrics provided |
| 108 // by the specified set of |metrics_providers|. The system profile portion of | 109 // by the specified set of |metrics_providers|. The system profile portion of |
| 109 // the log must have already been filled in by a call to RecordEnvironment() | 110 // the log must have already been filled in by a call to RecordEnvironment() |
| 110 // or LoadSavedEnvironmentFromPrefs(). | 111 // or LoadSavedEnvironmentFromPrefs(). |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 | 144 |
| 144 protected: | 145 protected: |
| 145 // Exposed for the sake of mocking/accessing in test code. | 146 // Exposed for the sake of mocking/accessing in test code. |
| 146 | 147 |
| 147 // Fills |field_trial_ids| with the list of initialized field trials name and | 148 // Fills |field_trial_ids| with the list of initialized field trials name and |
| 148 // group ids. | 149 // group ids. |
| 149 virtual void GetFieldTrialIds( | 150 virtual void GetFieldTrialIds( |
| 150 std::vector<variations::ActiveGroupId>* field_trial_ids) const; | 151 std::vector<variations::ActiveGroupId>* field_trial_ids) const; |
| 151 | 152 |
| 152 ChromeUserMetricsExtension* uma_proto() { return &uma_proto_; } | 153 ChromeUserMetricsExtension* uma_proto() { return &uma_proto_; } |
| 154 |
| 155 // Exposed to allow subclass to access to export the uma_proto. Can be used |
| 156 // by external components to export logs to Chrome. |
| 153 const ChromeUserMetricsExtension* uma_proto() const { | 157 const ChromeUserMetricsExtension* uma_proto() const { |
| 154 return &uma_proto_; | 158 return &uma_proto_; |
| 155 } | 159 } |
| 156 | 160 |
| 157 private: | 161 private: |
| 158 // Returns true if the environment has already been filled in by a call to | 162 // Returns true if the environment has already been filled in by a call to |
| 159 // RecordEnvironment() or LoadSavedEnvironmentFromPrefs(). | 163 // RecordEnvironment() or LoadSavedEnvironmentFromPrefs(). |
| 160 bool HasEnvironment() const; | 164 bool HasEnvironment() const; |
| 161 | 165 |
| 162 // Returns true if the stability metrics have already been filled in by a | 166 // Returns true if the stability metrics have already been filled in by a |
| (...skipping 29 matching lines...) Expand all Loading... |
| 192 const base::TimeTicks creation_time_; | 196 const base::TimeTicks creation_time_; |
| 193 | 197 |
| 194 PrefService* local_state_; | 198 PrefService* local_state_; |
| 195 | 199 |
| 196 DISALLOW_COPY_AND_ASSIGN(MetricsLog); | 200 DISALLOW_COPY_AND_ASSIGN(MetricsLog); |
| 197 }; | 201 }; |
| 198 | 202 |
| 199 } // namespace metrics | 203 } // namespace metrics |
| 200 | 204 |
| 201 #endif // COMPONENTS_METRICS_METRICS_LOG_H_ | 205 #endif // COMPONENTS_METRICS_METRICS_LOG_H_ |
| OLD | NEW |