| Index: components/rappor/rappor_parameters.h
|
| diff --git a/components/rappor/rappor_parameters.h b/components/rappor/rappor_parameters.h
|
| deleted file mode 100644
|
| index 1696269f4c0a0c3bd55e310e76074d061ac378d1..0000000000000000000000000000000000000000
|
| --- a/components/rappor/rappor_parameters.h
|
| +++ /dev/null
|
| @@ -1,173 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef COMPONENTS_RAPPOR_RAPPOR_PARAMETERS_H_
|
| -#define COMPONENTS_RAPPOR_RAPPOR_PARAMETERS_H_
|
| -
|
| -#include <string>
|
| -
|
| -namespace rappor {
|
| -
|
| -// Levels of noise added to a sample.
|
| -enum NoiseLevel {
|
| - NO_NOISE = 0,
|
| - NORMAL_NOISE,
|
| - SPARSE_NOISE,
|
| - NUM_NOISE_LEVELS,
|
| -};
|
| -
|
| -// The type of data stored in a metric.
|
| -// Any use of the LOW_FREQUENCY types must be approved by Chrome Privacy and
|
| -// the rappor-dev team.
|
| -enum RapporType {
|
| - // Generic metrics from UMA opt-in users.
|
| - UMA_RAPPOR_TYPE = 0,
|
| - // Generic metrics for SafeBrowsing users. Deprecated, replaced by
|
| - // LOW_FREQUENCY_SAFEBROWSING_RAPPOR_TYPE.
|
| - SAFEBROWSING_RAPPOR_TYPE,
|
| - // Deprecated: Use UMA_RAPPOR_TYPE for new metrics
|
| - ETLD_PLUS_ONE_RAPPOR_TYPE,
|
| - // Type for low-frequency metrics from UMA opt-in users.
|
| - LOW_FREQUENCY_UMA_RAPPOR_TYPE,
|
| - // Type for low-frequency metrics from SafeBrowsing users.
|
| - LOW_FREQUENCY_SAFEBROWSING_RAPPOR_TYPE,
|
| - // Type for low-frequency metrics from UMA opt-in users. Do not use for new
|
| - // metrics.
|
| - LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE,
|
| - NUM_RAPPOR_TYPES,
|
| - COARSE_RAPPOR_TYPE = SAFEBROWSING_RAPPOR_TYPE,
|
| -};
|
| -
|
| -enum Probability {
|
| - PROBABILITY_100, // 100%
|
| - PROBABILITY_75, // 75%
|
| - PROBABILITY_50, // 50%
|
| - PROBABILITY_25, // 25%
|
| - PROBABILITY_0, // 0%
|
| -};
|
| -
|
| -
|
| -// A metric is reported when its reporting group is in the set of groups
|
| -// passed in to RapporService::Start()
|
| -enum RecordingGroup {
|
| - // Metrics for UMA users.
|
| - UMA_RAPPOR_GROUP = 1 << 0,
|
| - // Metrics related to SafeBrowsing, for SafeBrowsing users.
|
| - SAFEBROWSING_RAPPOR_GROUP = 1 << 1,
|
| -};
|
| -
|
| -
|
| -// An object describing noise probabilities for a noise level
|
| -struct NoiseParameters {
|
| - // The probability that a bit will be redacted with fake data. This
|
| - // corresponds to the F privacy parameter.
|
| - Probability fake_prob;
|
| - // The probability that a fake bit will be a one.
|
| - Probability fake_one_prob;
|
| - // The probability that a one bit in the redacted data reports as one. This
|
| - // corresponds to the Q privacy parameter
|
| - Probability one_coin_prob;
|
| - // The probability that a zero bit in the redacted data reports as one. This
|
| - // corresponds to the P privacy parameter.
|
| - Probability zero_coin_prob;
|
| -};
|
| -
|
| -// An object describing a rappor metric and the parameters used to generate it.
|
| -//
|
| -// For a full description of the rappor metrics, see
|
| -// http://www.chromium.org/developers/design-documents/rappor
|
| -struct RapporParameters {
|
| - // Get a string representing the parameters, for DCHECK_EQ.
|
| - std::string ToString() const;
|
| -
|
| - // The maximum number of cohorts we divide clients into.
|
| - static const int kMaxCohorts;
|
| -
|
| - // The number of cohorts to divide the reports for this metric into.
|
| - // This should divide kMaxCohorts evenly so that each cohort has an equal
|
| - // probability of being assigned users.
|
| - int num_cohorts;
|
| -
|
| - // The number of bytes stored in the Bloom filter.
|
| - size_t bloom_filter_size_bytes;
|
| - // The number of hash functions used in the Bloom filter.
|
| - int bloom_filter_hash_function_count;
|
| -
|
| - // The level of noise to use.
|
| - NoiseLevel noise_level;
|
| -
|
| - // The reporting level this metric is reported at.
|
| - RecordingGroup recording_group;
|
| -};
|
| -
|
| -namespace internal {
|
| -
|
| -const NoiseParameters kNoiseParametersForLevel[NUM_NOISE_LEVELS] = {
|
| - // NO_NOISE
|
| - {
|
| - rappor::PROBABILITY_0 /* Fake data probability */,
|
| - rappor::PROBABILITY_0 /* Fake one probability */,
|
| - rappor::PROBABILITY_100 /* One coin probability */,
|
| - rappor::PROBABILITY_0 /* Zero coin probability */,
|
| - },
|
| - // NORMAL_NOISE
|
| - {
|
| - rappor::PROBABILITY_50 /* Fake data probability */,
|
| - rappor::PROBABILITY_50 /* Fake one probability */,
|
| - rappor::PROBABILITY_75 /* One coin probability */,
|
| - rappor::PROBABILITY_25 /* Zero coin probability */,
|
| - },
|
| - // SPARSE_NOISE
|
| - {
|
| - rappor::PROBABILITY_25 /* Fake data probability */,
|
| - rappor::PROBABILITY_50 /* Fake one probability */,
|
| - rappor::PROBABILITY_75 /* One coin probability */,
|
| - rappor::PROBABILITY_25 /* Zero coin probability */,
|
| - },
|
| -};
|
| -
|
| -const RapporParameters kRapporParametersForType[NUM_RAPPOR_TYPES] = {
|
| - // UMA_RAPPOR_TYPE
|
| - {128 /* Num cohorts */,
|
| - 4 /* Bloom filter size bytes */,
|
| - 2 /* Bloom filter hash count */,
|
| - rappor::NORMAL_NOISE /* Noise level */,
|
| - UMA_RAPPOR_GROUP /* Recording group */},
|
| - // SAFEBROWSING_RAPPOR_TYPE
|
| - {128 /* Num cohorts */,
|
| - 1 /* Bloom filter size bytes */,
|
| - 2 /* Bloom filter hash count */,
|
| - rappor::NORMAL_NOISE /* Noise level */,
|
| - SAFEBROWSING_RAPPOR_GROUP /* Recording group */},
|
| - // ETLD_PLUS_ONE_RAPPOR_TYPE
|
| - {128 /* Num cohorts */,
|
| - 16 /* Bloom filter size bytes */,
|
| - 2 /* Bloom filter hash count */,
|
| - rappor::NORMAL_NOISE /* Noise level */,
|
| - UMA_RAPPOR_GROUP /* Recording group */},
|
| - // LOW_FREQUENCY_UMA_RAPPOR_TYPE
|
| - {128 /* Num cohorts */,
|
| - 4 /* Bloom filter size bytes */,
|
| - 2 /* Bloom filter hash count */,
|
| - rappor::SPARSE_NOISE /* Noise level */,
|
| - UMA_RAPPOR_GROUP /* Recording group */},
|
| - // LOW_FREQUENCY_SAFEBROWSING_RAPPOR_TYPE
|
| - {128 /* Num cohorts */,
|
| - 1 /* Bloom filter size bytes */,
|
| - 2 /* Bloom filter hash count */,
|
| - rappor::SPARSE_NOISE /* Noise level */,
|
| - SAFEBROWSING_RAPPOR_GROUP /* Recording group */},
|
| - // LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE
|
| - {128 /* Num cohorts */,
|
| - 16 /* Bloom filter size bytes */,
|
| - 2 /* Bloom filter hash count */,
|
| - rappor::SPARSE_NOISE /* Noise level */,
|
| - UMA_RAPPOR_GROUP /* Recording group */},
|
| -};
|
| -
|
| -} // namespace internal
|
| -
|
| -} // namespace rappor
|
| -
|
| -#endif // COMPONENTS_RAPPOR_RAPPOR_PARAMETERS_H_
|
|
|