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

Side by Side Diff: chrome/browser/metrics/metrics_service.cc

Issue 26373009: ash:Shelf - Added UMA stats for ShelfAlignment (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ws Created 7 years, 1 month 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 //------------------------------------------------------------------------------ 5 //------------------------------------------------------------------------------
6 // Description of the life cycle of a instance of MetricsService. 6 // Description of the life cycle of a instance of MetricsService.
7 // 7 //
8 // OVERVIEW 8 // OVERVIEW
9 // 9 //
10 // A MetricsService instance is typically created at application startup. It is 10 // A MetricsService instance is typically created at application startup. It is
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 // saved for re-transmission. These duplicates could be filtered out server 145 // saved for re-transmission. These duplicates could be filtered out server
146 // side, but are not expected to be a significant problem. 146 // side, but are not expected to be a significant problem.
147 // 147 //
148 // 148 //
149 //------------------------------------------------------------------------------ 149 //------------------------------------------------------------------------------
150 150
151 #include "chrome/browser/metrics/metrics_service.h" 151 #include "chrome/browser/metrics/metrics_service.h"
152 152
153 #include <algorithm> 153 #include <algorithm>
154 154
155 #include "ash/launcher/launcher.h"
155 #include "base/bind.h" 156 #include "base/bind.h"
156 #include "base/callback.h" 157 #include "base/callback.h"
157 #include "base/command_line.h" 158 #include "base/command_line.h"
158 #include "base/guid.h" 159 #include "base/guid.h"
159 #include "base/md5.h" 160 #include "base/md5.h"
160 #include "base/metrics/histogram.h" 161 #include "base/metrics/histogram.h"
161 #include "base/metrics/sparse_histogram.h" 162 #include "base/metrics/sparse_histogram.h"
162 #include "base/metrics/statistics_recorder.h" 163 #include "base/metrics/statistics_recorder.h"
163 #include "base/prefs/pref_registry_simple.h" 164 #include "base/prefs/pref_registry_simple.h"
164 #include "base/prefs/pref_service.h" 165 #include "base/prefs/pref_service.h"
(...skipping 981 matching lines...) Expand 10 before | Expand all | Expand 10 after
1146 1147
1147 void MetricsService::SaveLocalState() { 1148 void MetricsService::SaveLocalState() {
1148 PrefService* pref = g_browser_process->local_state(); 1149 PrefService* pref = g_browser_process->local_state();
1149 if (!pref) { 1150 if (!pref) {
1150 NOTREACHED(); 1151 NOTREACHED();
1151 return; 1152 return;
1152 } 1153 }
1153 1154
1154 RecordCurrentState(pref); 1155 RecordCurrentState(pref);
1155 1156
1157 #if defined(OS_CHROMEOS)
1158 // Query the current state of the shelf alignment to gather an impression of
1159 // how much user time is being spent in each alignment.
1160 ash::Launcher::ForPrimaryDisplay()->RecordCurrentAlignmentForUMAHistogram(
James Cook 2013/10/30 16:49:12 Now that I think about it more, this really needs
1161 "Ash.ShelfAlignmentOverTime");
1162 #endif
1163
1156 // TODO(jar):110021 Does this run down the batteries???? 1164 // TODO(jar):110021 Does this run down the batteries????
1157 ScheduleNextStateSave(); 1165 ScheduleNextStateSave();
1158 } 1166 }
1159 1167
1160 1168
1161 //------------------------------------------------------------------------------ 1169 //------------------------------------------------------------------------------
1162 // Recording control methods 1170 // Recording control methods
1163 1171
1164 void MetricsService::OpenNewLog() { 1172 void MetricsService::OpenNewLog() {
1165 DCHECK(!log_manager_.current_log()); 1173 DCHECK(!log_manager_.current_log());
(...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after
1868 if (local_state) { 1876 if (local_state) {
1869 const PrefService::Preference* uma_pref = 1877 const PrefService::Preference* uma_pref =
1870 local_state->FindPreference(prefs::kMetricsReportingEnabled); 1878 local_state->FindPreference(prefs::kMetricsReportingEnabled);
1871 if (uma_pref) { 1879 if (uma_pref) {
1872 bool success = uma_pref->GetValue()->GetAsBoolean(&result); 1880 bool success = uma_pref->GetValue()->GetAsBoolean(&result);
1873 DCHECK(success); 1881 DCHECK(success);
1874 } 1882 }
1875 } 1883 }
1876 return result; 1884 return result;
1877 } 1885 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698