summaryrefslogtreecommitdiffstats
path: root/tools/metrics/rappor
diff options
context:
space:
mode:
authorholte <holte@chromium.org>2015-06-04 14:21:25 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-04 21:21:54 +0000
commita35158e17e72cf8a575b49e8d6ee669cd9168e4c (patch)
treed1295d5a6f6896bbd4b89109f16f2c0b1555cfda /tools/metrics/rappor
parent21373e3fb8240acd5f3fc1d0251a060c1a0c3333 (diff)
downloadchromium_src-a35158e17e72cf8a575b49e8d6ee669cd9168e4c.zip
chromium_src-a35158e17e72cf8a575b49e8d6ee669cd9168e4c.tar.gz
chromium_src-a35158e17e72cf8a575b49e8d6ee669cd9168e4c.tar.bz2
Rappor: Separate noise params for flags.
Adds support for weak noise, allows the noise parameters for flags to be changed independently from string fields, and makes weak noise for flags the default. BUG=495712 Review URL: https://codereview.chromium.org/1161163002 Cr-Commit-Position: refs/heads/master@{#332910}
Diffstat (limited to 'tools/metrics/rappor')
-rwxr-xr-xtools/metrics/rappor/pretty_print.py21
-rwxr-xr-xtools/metrics/rappor/pretty_print_test.py7
-rw-r--r--tools/metrics/rappor/rappor.xml21
3 files changed, 35 insertions, 14 deletions
diff --git a/tools/metrics/rappor/pretty_print.py b/tools/metrics/rappor/pretty_print.py
index f88e1c3..b5b1ba3 100755
--- a/tools/metrics/rappor/pretty_print.py
+++ b/tools/metrics/rappor/pretty_print.py
@@ -15,18 +15,25 @@ import presubmit_util
# Model definitions for rappor.xml content
_SUMMARY_TYPE = models.TextNodeType('summary')
+_NOISE_ATTRIBUTES = [
+ 'fake-prob',
+ 'fake-one-prob',
+ 'one-coin-prob',
+ 'zero-coin-prob',
+]
+
+_STRING_NOISE_TYPE = models.ObjectNodeType('string-noise',
+ float_attributes=_NOISE_ATTRIBUTES)
+
+_FLAG_NOISE_TYPE = models.ObjectNodeType('flag-noise',
+ float_attributes=_NOISE_ATTRIBUTES)
+
_PARAMETERS_TYPE = models.ObjectNodeType('parameters',
int_attributes=[
'num-cohorts',
'bytes',
'hash-functions',
],
- float_attributes=[
- 'fake-prob',
- 'fake-one-prob',
- 'one-coin-prob',
- 'zero-coin-prob',
- ],
string_attributes=[
'reporting-level'
])
@@ -37,6 +44,8 @@ _RAPPOR_PARAMETERS_TYPE = models.ObjectNodeType('rappor-parameters',
children=[
models.ChildType('summary', _SUMMARY_TYPE, False),
models.ChildType('parameters', _PARAMETERS_TYPE, False),
+ models.ChildType('stringNoise', _STRING_NOISE_TYPE, False),
+ models.ChildType('flagNoise', _FLAG_NOISE_TYPE, False),
])
_RAPPOR_PARAMETERS_TYPES_TYPE = models.ObjectNodeType('rappor-parameter-types',
diff --git a/tools/metrics/rappor/pretty_print_test.py b/tools/metrics/rappor/pretty_print_test.py
index f69b7df..58478dd 100755
--- a/tools/metrics/rappor/pretty_print_test.py
+++ b/tools/metrics/rappor/pretty_print_test.py
@@ -21,9 +21,12 @@ PRETTY_XML = """
<summary>
Fake type for tests.
</summary>
- <parameters num-cohorts="128" bytes="1" hash-functions="2" fake-prob="0.5"
- fake-one-prob="0.5" one-coin-prob="0.75" zero-coin-prob="0.25"
+ <parameters num-cohorts="128" bytes="1" hash-functions="2"
reporting-level="COARSE"/>
+ <string-noise fake-prob="0.5" fake-one-prob="0.5" one-coin-prob="0.75"
+ zero-coin-prob="0.25"/>
+ <flag-noise fake-prob="0.5" fake-one-prob="0.75" one-coin-prob="0.875"
+ zero-coin-prob="0.125"/>
</rappor-parameters>
</rappor-parameter-types>
diff --git a/tools/metrics/rappor/rappor.xml b/tools/metrics/rappor/rappor.xml
index f457557..a577c1e 100644
--- a/tools/metrics/rappor/rappor.xml
+++ b/tools/metrics/rappor/rappor.xml
@@ -23,9 +23,12 @@ components/rappor/rappor_service.cc.
<summary>
Stricter parameters for metrics collected from a broader population.
</summary>
- <parameters num-cohorts="128" bytes="1" hash-functions="2" fake-prob="0.5"
- fake-one-prob="0.5" one-coin-prob="0.75" zero-coin-prob="0.25"
+ <parameters num-cohorts="128" bytes="1" hash-functions="2"
reporting-level="COARSE"/>
+ <string-noise fake-prob="0.5" fake-one-prob="0.5" one-coin-prob="0.75"
+ zero-coin-prob="0.25"/>
+ <flag-noise fake-prob="0.25" fake-one-prob="0.5" one-coin-prob="0.875"
+ zero-coin-prob="0.125"/>
</rappor-parameters>
<rappor-parameters name="ETLD_PLUS_ONE">
@@ -33,18 +36,24 @@ components/rappor/rappor_service.cc.
Deprecated parameters for collecting the domain and registry of a URL from
UMA opt-in users.
</summary>
- <parameters num-cohorts="128" bytes="16" hash-functions="2" fake-prob="0.5"
- fake-one-prob="0.5" one-coin-prob="0.75" zero-coin-prob="0.25"
+ <parameters num-cohorts="128" bytes="16" hash-functions="2"
reporting-level="FINE"/>
+ <string-noise fake-prob="0.5" fake-one-prob="0.5" one-coin-prob="0.75"
+ zero-coin-prob="0.25"/>
+ <flag-noise fake-prob="0.25" fake-one-prob="0.5" one-coin-prob="0.875"
+ zero-coin-prob="0.125"/>
</rappor-parameters>
<rappor-parameters name="UMA_RAPPOR_TYPE">
<summary>
Parameters suitable for metrics from UMA opt-in users.
</summary>
- <parameters num-cohorts="128" bytes="4" hash-functions="2" fake-prob="0.5"
- fake-one-prob="0.5" one-coin-prob="0.75" zero-coin-prob="0.25"
+ <parameters num-cohorts="128" bytes="4" hash-functions="2"
reporting-level="FINE"/>
+ <string-noise fake-prob="0.5" fake-one-prob="0.5" one-coin-prob="0.75"
+ zero-coin-prob="0.25"/>
+ <flag-noise fake-prob="0.25" fake-one-prob="0.5" one-coin-prob="0.875"
+ zero-coin-prob="0.125"/>
</rappor-parameters>
</rappor-parameter-types>