Closed Bug 1365680 Opened 9 years ago Closed 8 years ago

Pref Study SHIELD Lazy Client Classification

Categories

(Shield :: Shield Study, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: osmose, Assigned: osmose)

Details

The SHIELD system add-on makes a request to the Normandy service to "classify" clients; we geolocate them by IP and return the current time on the server to use as a reliable timestamp. However, many of our recipes do not use this information in their filters. The extensions.shield-recipe-client.experiments.lazy_classify preference controls whether we make fetching this data lazy or not; if true, then clients do not make the request unless a recipe filter uses values from it. This has the potential to save use a ton of money on server costs, but has the side effect of introducing huge jumps in our server traffic when a new recipe is enabled that uses these values. We'd like to run a preference experiment to test how our servers can handle the load. The experiment will also help us test preference experiments themselves. Population Affected ------------------- Initially, we'd like to run on 100% of Nightly users. Once the code for preference experiments hits Beta (and eventually release), we'd like to expand to those populations. We need a full sample to properly test the effect on server load. In the release channel, we will most likely stage rollout to 10%, then 50%, then 100% of the population over a few days. Effect / Branches ----------------- The preference "extensions.shield-recipe-client.experiments.lazy_classify" will be set to true for all participants. This will cause the SHIELD add-on to only make the classification request when necessary, instead of the current behavior of always making the request. There are no known user-facing changes. Cleanup ------- Once we have confirmed the effect on our server traffic, we will reset the preference to its previous value. If all goes well, we will modify the add-on itself to default the preference to be true. Goals ----- 1. Measure server traffic to the classify_client URL, filtered by user-agent so we only measure users in the affected channels, and confirm that, at 100% sample with no active recipes using the classify filters, server traffic drops to 5% or lower of our average traffic to the endpoint. 2. Once we hit the release channel, confirm with Services Ops (relud) that our infrastructure can handle the changes in traffic when recipes using the classify filters are enabled and disabled.
Correction: We're going to drop running this experiment on beta and release, and only run on Nightly. We're also going to drop goal 2 and focus on testing preference experiments themselves and whether we see real-world effects in line with our expectations.
NEEDINFO Matt_G and rweiss for approval before I am judged by release-drivers. :D
Assignee: nobody → mkelly
Flags: needinfo?(rweiss)
Flags: needinfo?(mgrimes)
Summary: Preference Study - SHIELD Lazy Client Classification → Pref Study SHIELD Lazy Client Classification
Looks good to me. Signing off!
Flags: needinfo?(mgrimes)
r+
Flags: needinfo?(rweiss)
NI jcristau to confirm relman approval of this study via release-drivers.
Flags: needinfo?(jcristau)
yep, all fine with me.
Flags: needinfo?(jcristau)
I think we've got enough useful data from this method of testing. Here's a sheet with the number of requests to the classify endpoint from Nightly users per day, annotated with info about what was affecting the numbers: https://docs.google.com/spreadsheets/d/15pI4yJYdc-qWrYQJsorYdEVFR9uHaIpFcekh-a8ADhM/edit?usp=sharing The numbers match with the behavior we expect: When the recipe with a country filter was enabled, the request count jumped back up. When the cert we use to signed recipes expired, users stopped running recipes and stopped hitting the endpoint again, but our enrollment didn't increase because new users were not getting the recipe to enroll in the first place. And once the cert fix and cache bust went up, our numbers jumped back up to expected amounts. The only interesting data that we're lacking is the uptake of the experiment, which I think would be better measured via the telemetry dashboards we have for preference experiments. Gregglind: Can we disable this experiment on Normandy? Also, how do we run/get access to the automatic study reporting so we can inspect uptake?
Flags: needinfo?(glind)
1. Disable as you see fit. 2. Automatic dashboarding is still in-progress. it has some warts still that need resolve.
Flags: needinfo?(glind)
I've disabled the recipe. Looks like we're done here. Thanks!
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.