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

Side by Side Diff: components/ntp_snippets/user_classifier.cc

Issue 2744253004: NTP: clang-format (Closed)
Patch Set: Created 3 years, 9 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/ntp_snippets/user_classifier.h" 5 #include "components/ntp_snippets/user_classifier.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cfloat> 8 #include <cfloat>
9 #include <string> 9 #include <string>
10 10
11 #include "base/metrics/histogram_macros.h" 11 #include "base/metrics/histogram_macros.h"
12 #include "base/strings/string_number_conversions.h" 12 #include "base/strings/string_number_conversions.h"
13 #include "components/ntp_snippets/features.h" 13 #include "components/ntp_snippets/features.h"
14 #include "components/ntp_snippets/pref_names.h" 14 #include "components/ntp_snippets/pref_names.h"
15 #include "components/prefs/pref_registry_simple.h" 15 #include "components/prefs/pref_registry_simple.h"
16 #include "components/prefs/pref_service.h" 16 #include "components/prefs/pref_service.h"
17 #include "components/variations/variations_associated_data.h" 17 #include "components/variations/variations_associated_data.h"
18 18
19 namespace ntp_snippets { 19 namespace ntp_snippets {
20 20
21 namespace { 21 namespace {
22 22
23 // The discount rate for computing the discounted-average metrics. Must be 23 // The discount rate for computing the discounted-average metrics. Must be
24 // strictly larger than 0 and strictly smaller than 1! 24 // strictly larger than 0 and strictly smaller than 1!
25 const double kDiscountRatePerDay = 0.25; 25 const double kDiscountRatePerDay = 0.25;
26 const char kDiscountRatePerDayParam[] = 26 const char kDiscountRatePerDayParam[] = "user_classifier_discount_rate_per_day";
27 "user_classifier_discount_rate_per_day";
28 27
29 // Never consider any larger interval than this (so that extreme situations such 28 // Never consider any larger interval than this (so that extreme situations such
30 // as losing your phone or going for a long offline vacation do not skew the 29 // as losing your phone or going for a long offline vacation do not skew the
31 // average too much). 30 // average too much).
32 // When everriding via variation parameters, it is better to use smaller values 31 // When everriding via variation parameters, it is better to use smaller values
33 // than |kMaxHours| as this it the maximum value reported in the histograms. 32 // than |kMaxHours| as this it the maximum value reported in the histograms.
34 const double kMaxHours = 7 * 24; 33 const double kMaxHours = 7 * 24;
35 const char kMaxHoursParam[] = "user_classifier_max_hours"; 34 const char kMaxHoursParam[] = "user_classifier_max_hours";
36 35
37 // Ignore events within |kMinHours| hours since the last event (|kMinHours| is 36 // Ignore events within |kMinHours| hours since the last event (|kMinHours| is
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 if (hours_since_last_time < min_hours_) { 320 if (hours_since_last_time < min_hours_) {
322 return GetUpToDateMetricValue(metric); 321 return GetUpToDateMetricValue(metric);
323 } 322 }
324 323
325 SetLastTimeToNow(metric); 324 SetLastTimeToNow(metric);
326 325
327 double metric_value = GetMetricValue(metric); 326 double metric_value = GetMetricValue(metric);
328 // Add 1 to the discounted metric as the event has happened right now. 327 // Add 1 to the discounted metric as the event has happened right now.
329 double new_metric_value = 328 double new_metric_value =
330 1 + DiscountMetric(metric_value, hours_since_last_time, 329 1 + DiscountMetric(metric_value, hours_since_last_time,
331 discount_rate_per_hour_); 330 discount_rate_per_hour_);
332 SetMetricValue(metric, new_metric_value); 331 SetMetricValue(metric, new_metric_value);
333 return new_metric_value; 332 return new_metric_value;
334 } 333 }
335 334
336 double UserClassifier::GetUpToDateMetricValue(Metric metric) const { 335 double UserClassifier::GetUpToDateMetricValue(Metric metric) const {
337 // The pref_service_ can be null in tests. 336 // The pref_service_ can be null in tests.
338 if (!pref_service_) { 337 if (!pref_service_) {
339 return 0; 338 return 0;
340 } 339 }
341 340
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 372
374 void UserClassifier::SetMetricValue(Metric metric, double metric_value) { 373 void UserClassifier::SetMetricValue(Metric metric, double metric_value) {
375 pref_service_->SetDouble(kMetricKeys[static_cast<int>(metric)], metric_value); 374 pref_service_->SetDouble(kMetricKeys[static_cast<int>(metric)], metric_value);
376 } 375 }
377 376
378 void UserClassifier::ClearMetricValue(Metric metric) { 377 void UserClassifier::ClearMetricValue(Metric metric) {
379 pref_service_->ClearPref(kMetricKeys[static_cast<int>(metric)]); 378 pref_service_->ClearPref(kMetricKeys[static_cast<int>(metric)]);
380 } 379 }
381 380
382 } // namespace ntp_snippets 381 } // namespace ntp_snippets
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698