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

Side by Side Diff: components/domain_reliability/config.cc

Issue 1497803004: Domain Reliability: Add sample_rate field to Beacon (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 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 // Make sure stdint.h includes SIZE_MAX. (See C89, p259, footnote 221.) 5 // Make sure stdint.h includes SIZE_MAX. (See C89, p259, footnote 221.)
6 #ifndef __STDC_LIMIT_MACROS 6 #ifndef __STDC_LIMIT_MACROS
7 #define __STDC_LIMIT_MACROS 1 7 #define __STDC_LIMIT_MACROS 1
8 #endif 8 #endif
9 9
10 #include "components/domain_reliability/config.h" 10 #include "components/domain_reliability/config.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 } 70 }
71 71
72 for (const auto& url : collectors) { 72 for (const auto& url : collectors) {
73 if (!url->is_valid()) 73 if (!url->is_valid())
74 return false; 74 return false;
75 } 75 }
76 76
77 return true; 77 return true;
78 } 78 }
79 79
80 bool DomainReliabilityConfig::DecideIfShouldReportRequest(bool success) const { 80 bool DomainReliabilityConfig::DecideIfShouldReportRequest(
81 bool success,
82 double* sample_rate_out) const {
81 double sample_rate = success ? success_sample_rate : failure_sample_rate; 83 double sample_rate = success ? success_sample_rate : failure_sample_rate;
84 *sample_rate_out = sample_rate;
82 return base::RandDouble() < sample_rate; 85 return base::RandDouble() < sample_rate;
83 } 86 }
84 87
85 // static 88 // static
86 void DomainReliabilityConfig::RegisterJSONConverter( 89 void DomainReliabilityConfig::RegisterJSONConverter(
87 base::JSONValueConverter<DomainReliabilityConfig>* converter) { 90 base::JSONValueConverter<DomainReliabilityConfig>* converter) {
88 converter->RegisterCustomValueField<GURL>( 91 converter->RegisterCustomValueField<GURL>(
89 "origin", &DomainReliabilityConfig::origin, &ConvertOrigin); 92 "origin", &DomainReliabilityConfig::origin, &ConvertOrigin);
90 converter->RegisterBoolField("include_subdomains", 93 converter->RegisterBoolField("include_subdomains",
91 &DomainReliabilityConfig::include_subdomains); 94 &DomainReliabilityConfig::include_subdomains);
92 converter->RegisterRepeatedCustomValue( 95 converter->RegisterRepeatedCustomValue(
93 "collectors", &DomainReliabilityConfig::collectors, &ConvertURL); 96 "collectors", &DomainReliabilityConfig::collectors, &ConvertURL);
94 converter->RegisterRepeatedString("path_prefixes", 97 converter->RegisterRepeatedString("path_prefixes",
95 &DomainReliabilityConfig::path_prefixes); 98 &DomainReliabilityConfig::path_prefixes);
96 converter->RegisterDoubleField("success_sample_rate", 99 converter->RegisterDoubleField("success_sample_rate",
97 &DomainReliabilityConfig::success_sample_rate); 100 &DomainReliabilityConfig::success_sample_rate);
98 converter->RegisterDoubleField("failure_sample_rate", 101 converter->RegisterDoubleField("failure_sample_rate",
99 &DomainReliabilityConfig::failure_sample_rate); 102 &DomainReliabilityConfig::failure_sample_rate);
100 } 103 }
101 104
102 } // namespace domain_reliability 105 } // namespace domain_reliability
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698