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

Side by Side Diff: components/metrics/metrics_state_manager.cc

Issue 1284433003: [UMA, Cleanup] Deprecate the UMA.GeneratedLowEntropySource histogram. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update enum labels in histograms.xml Created 5 years, 4 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
« no previous file with comments | « components/metrics/metrics_state_manager.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "components/metrics/metrics_state_manager.h" 5 #include "components/metrics/metrics_state_manager.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/guid.h" 8 #include "base/guid.h"
9 #include "base/metrics/histogram_macros.h" 9 #include "base/metrics/histogram_macros.h"
10 #include "base/metrics/sparse_histogram.h" 10 #include "base/metrics/sparse_histogram.h"
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 } 241 }
242 242
243 // The GUID retrieved (and possibly fixed above) should be valid unless 243 // The GUID retrieved (and possibly fixed above) should be valid unless
244 // retrieval failed. 244 // retrieval failed.
245 DCHECK(!client_info || base::IsValidGUID(client_info->client_id)); 245 DCHECK(!client_info || base::IsValidGUID(client_info->client_id));
246 246
247 return client_info.Pass(); 247 return client_info.Pass();
248 } 248 }
249 249
250 int MetricsStateManager::GetLowEntropySource() { 250 int MetricsStateManager::GetLowEntropySource() {
251 UpdateLowEntropySource();
252 return low_entropy_source_;
253 }
254
255 void MetricsStateManager::UpdateLowEntropySource() {
251 // Note that the default value for the low entropy source and the default pref 256 // Note that the default value for the low entropy source and the default pref
252 // value are both kLowEntropySourceNotSet, which is used to identify if the 257 // value are both kLowEntropySourceNotSet, which is used to identify if the
253 // value has been set or not. 258 // value has been set or not.
254 if (low_entropy_source_ != kLowEntropySourceNotSet) 259 if (low_entropy_source_ != kLowEntropySourceNotSet)
255 return low_entropy_source_; 260 return;
256 261
257 const base::CommandLine* command_line(base::CommandLine::ForCurrentProcess()); 262 const base::CommandLine* command_line(base::CommandLine::ForCurrentProcess());
258 // Only try to load the value from prefs if the user did not request a 263 // Only try to load the value from prefs if the user did not request a
259 // reset. 264 // reset.
260 // Otherwise, skip to generating a new value. 265 // Otherwise, skip to generating a new value.
261 if (!command_line->HasSwitch(switches::kResetVariationState)) { 266 if (!command_line->HasSwitch(switches::kResetVariationState)) {
262 int value = local_state_->GetInteger(prefs::kMetricsLowEntropySource); 267 int value = local_state_->GetInteger(prefs::kMetricsLowEntropySource);
263 // If the value is outside the [0, kMaxLowEntropySize) range, re-generate 268 // If the value is outside the [0, kMaxLowEntropySize) range, re-generate
264 // it below. 269 // it below.
265 if (value >= 0 && value < kMaxLowEntropySize) { 270 if (value >= 0 && value < kMaxLowEntropySize) {
266 low_entropy_source_ = value; 271 low_entropy_source_ = value;
267 UMA_HISTOGRAM_BOOLEAN("UMA.GeneratedLowEntropySource", false); 272 return;
268 return low_entropy_source_;
269 } 273 }
270 } 274 }
271 275
272 UMA_HISTOGRAM_BOOLEAN("UMA.GeneratedLowEntropySource", true);
273 low_entropy_source_ = GenerateLowEntropySource(); 276 low_entropy_source_ = GenerateLowEntropySource();
274 local_state_->SetInteger(prefs::kMetricsLowEntropySource, 277 local_state_->SetInteger(prefs::kMetricsLowEntropySource,
275 low_entropy_source_); 278 low_entropy_source_);
276 CachingPermutedEntropyProvider::ClearCache(local_state_); 279 CachingPermutedEntropyProvider::ClearCache(local_state_);
277
278 return low_entropy_source_;
279 } 280 }
280 281
281 void MetricsStateManager::UpdateEntropySourceReturnedValue( 282 void MetricsStateManager::UpdateEntropySourceReturnedValue(
282 EntropySourceType type) { 283 EntropySourceType type) {
283 if (entropy_source_returned_ != ENTROPY_SOURCE_NONE) 284 if (entropy_source_returned_ != ENTROPY_SOURCE_NONE)
284 return; 285 return;
285 286
286 entropy_source_returned_ = type; 287 entropy_source_returned_ = type;
287 UMA_HISTOGRAM_ENUMERATION("UMA.EntropySourceType", type, 288 UMA_HISTOGRAM_ENUMERATION("UMA.EntropySourceType", type,
288 ENTROPY_SOURCE_ENUM_SIZE); 289 ENTROPY_SOURCE_ENUM_SIZE);
(...skipping 10 matching lines...) Expand all
299 300
300 local_state_->ClearPref(prefs::kMetricsClientID); 301 local_state_->ClearPref(prefs::kMetricsClientID);
301 local_state_->ClearPref(prefs::kMetricsLowEntropySource); 302 local_state_->ClearPref(prefs::kMetricsLowEntropySource);
302 local_state_->ClearPref(prefs::kMetricsResetIds); 303 local_state_->ClearPref(prefs::kMetricsResetIds);
303 304
304 // Also clear the backed up client info. 305 // Also clear the backed up client info.
305 store_client_info_.Run(ClientInfo()); 306 store_client_info_.Run(ClientInfo());
306 } 307 }
307 308
308 } // namespace metrics 309 } // namespace metrics
OLDNEW
« no previous file with comments | « components/metrics/metrics_state_manager.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698