Commit Graph

67 Commits

Author SHA1 Message Date
Georg Fritzsche
165da01714 Bug 1046910 - TypeError: this._experiments is null at Experiments.Experiments.prototype._getState. r=ttaubert 2014-08-01 14:38:45 +02:00
Steven MacLeod
99ebaaa5db Bug 1038174 - Prevent a race condition when writing the experiments cache. r=gfritzsche
We now mark the experiments cache as clean before writing the cache.
This means that any changes to the data between collecting it and when
the actual write executes will properly mark the cache as dirty.

--HG--
extra : rebase_source : 1c8b2dd2365ff2c27e7b545c5347ab178d6818d9
extra : histedit_source : a6b10099af6e8d4c67450e9f4afef403d5b74436
2014-07-24 17:21:03 -04:00
Qeole
275d8b5fbc Bug 1040761 - Re-add state info for experiments async shutdown blocker from bug 1012924. r=gfritzsche 2014-07-25 13:40:17 +02:00
Alexandre Poirot
5a3800bc64 Bug 1027242 - Blacklist mulet's failing tests + expose 'mulet' to ini files; fix previous bustage on a CLOSED TREE, r=ahal 2014-07-02 15:40:56 -07:00
Qeole
98a9119df8 Bug 1032970 - Stopping maxStartTime from incorrectly disabling experiments which have already started. r=gfritzsche 2014-07-18 16:53:20 +02:00
Georg Fritzsche
caac7d7b00 Bug 1012466 - Test cleanups. r=bsmedberg 2014-07-09 15:17:36 +02:00
Georg Fritzsche
900bd1808b Bug 1012466 - Properly synchronize experiments shutdown with the AddonManager by using its shutdown barrier. r=bsmedberg 2014-07-08 17:36:24 +02:00
Benjamin Smedberg
b2289bfcc9 Bug 1031326 - Fix experiment cache upgrade: the cache data is a raw JSObject, not a map. r=gfritzsche 2014-06-27 13:44:21 -04:00
Benjamin Smedberg
2b0267c55d Bug 1017806 followup: include the branch data in the public API and therefore in FHR 2014-06-25 18:11:55 -04:00
Benjamin Smedberg
48059d7b02 Bug 1017806 - Record and report on optional branches of experiments, so that each experiment doesn't have to re-invent data collection. r=gfritzsche 2014-06-25 15:16:13 -04:00
Felipe Gomes
25fe51d5b2 Bug 1028612 - Options for jsfilter sandbox unused. r=gfritzsche 2014-06-22 21:25:15 -03:00
Georg Fritzsche
4868201b22 Bug 1021002 - Fix telemetry experiments jsfilter evaluation. r=bsmedberg 2014-06-13 14:50:10 +02:00
Carsten "Tomcat" Book
ecf9c41329 Merge mozilla-central to fx-team 2014-05-16 14:33:31 +02:00
Georg Fritzsche
ffb7444989 Bug 1005270 - Trigger experiments initialization on opening the addon manager UI. r=bsmedberg 2014-05-16 12:56:25 +02:00
David Rajchenbach-Teller
0354862afe Bug 1010289 - Experiments.jsm should now handle its errors. r=bsmedberg 2014-05-15 03:12:00 +02:00
Benjamin Smedberg
5643c0b0b1 Bug 1007710 - Add information about the currently-active experiment to the telemetry ping, r=gfritzsche+vladan
--HG--
extra : rebase_source : a6bde09d91162d9a77fa2d121442e2397e6c9526
2014-05-15 09:11:01 -04:00
Benjamin Smedberg
5c80e87850 Bug 1004665 - If the crash reporter is disabled, .annotateCrashReport will throw an exception. Catch it and continue, r=gfritzsche
--HG--
extra : rebase_source : 5a86f06dbca38f9f2d692aeb651789e452b96bc9
2014-05-05 10:31:26 -04:00
Georg Fritzsche
ec0e0f4b01 Bug 992258 - Trigger a refresh of the experiments view in the addon manager when experiments change. r=irving 2014-05-06 12:18:10 +02:00
Georg Fritzsche
23d227e0ea Bug 1001787 - Set the endDate on historic experiments early enough. r=bsmedberg
We expect all historic experiments to have a valid endDate. Setting an experiment to disabled and then calling into reconcileAddonState can trigger calls into Experiments.getExperiments() via the AddonManager, so we need to set the endDate before that.
2014-04-29 18:21:06 +02:00
Georg Fritzsche
924d1a184b Bug 1001787 - Propagate changes for foreign experiment addon uninstalls so we properly save the experiments state. r=bsmedberg 2014-04-29 18:20:56 +02:00
Georg Fritzsche
75c1542063 Bug 1000719 - Add tracing on logging experiment rejections and telemetry tests. r=bsmedberg 2014-04-28 16:11:26 +02:00
Georg Fritzsche
02104e5d26 Bug 986677 - Add time left and activity state to experiments in the Addon Manager UI. r=unfocused 2014-04-23 14:34:49 +02:00
Georg Fritzsche
43486c353f Bug 990111 - Add-on provider for historical experiments. r=irving 2014-04-23 14:34:48 +02:00
Benjamin Smedberg
1803e8ce1b Bug 995027 logging - add traces to figure out whether uninit was called and where it got stuck, r=gfritzsche
--HG--
extra : rebase_source : 6c2e5dcce364bbce746a11b4e8841283656162c2
2014-04-17 10:52:23 -04:00
Georg Fritzsche
bd0c2671d0 Bug 989137 - Part 18: Fix experiments uninit behavior. r=bsmedberg 2014-04-17 15:47:37 +02:00
Georg Fritzsche
2293939643 Bug 989137 - Part 15: Return a promise from Experiments.init(). r=gfritzsche 2014-04-17 15:47:37 +02:00
Georg Fritzsche
b626ada96a Bug 989137 - Part 14: Rename functions for associating with Add-on Manager. r=gfritzsche 2014-04-17 15:47:37 +02:00
Georg Fritzsche
66edbad45a Bug 989137 - Part 13: Ability to ignore hashes of downloaded experiments. r=gfritzsche 2014-04-17 15:47:36 +02:00
Georg Fritzsche
6f0f2c7b08 Bug 989137 - Part 12: Refactor experiment and add-on state management. r=gfritzsche 2014-04-17 15:47:36 +02:00
Georg Fritzsche
500abbb9fa Bug 989137 - Backout re-ordered patches that conflict with a known-good patch stack: 1ab6bbd62c76, 5c3a195a107e, 73da7e611e92, 2c1a0b0551fb. r=me 2014-04-17 15:47:36 +02:00
Gregory Szorc
4e0d9f32be Bug 989137 - Part 14: Return a promise from Experiments.init(); r=gfritzsche
Upcoming tests will need to wait on init() to finish before running. We
now return a promise so these tests don't have to look at internal
variables.

--HG--
extra : rebase_source : 487645efe419fb3fa3371f85a81e8f3e1ccd9012
extra : amend_source : 3d6bb785e0ecdabcbff1e5bc62ee7dc56cbb7244
extra : histedit_source : 8d12f7e5c47995a408509a85a527bc86f9a76ccb
2014-04-10 13:29:02 -07:00
Gregory Szorc
bfb1f73953 Bug 989137 - Part 13: Rename functions for associating with Add-on Manager; r=gfritzsche
The previous experiment feature expands the scope of these functions. A
rename was in order.

--HG--
extra : rebase_source : 054d7a440e3e15436ff7fbcbc4f91b28dd4fc9fd
2014-04-10 13:27:36 -07:00
Gregory Szorc
2526b290b7 Bug 989137 - Part 12: Ability to ignore hashes of downloaded experiments; r=gfritzsche
We normally validate hashes of XPIs as part of installing experiments.
While a useful security feature, this patch makes that optional. This in
turn makes automated and manual testing easier.

--HG--
extra : rebase_source : 292653411391843fad3f62d0bee01e11779313b6
2014-04-10 13:18:19 -07:00
Georg Fritzsche
12dbd94145 Bug 993084 - Fix experiments health report provider test. r=bsmedberg 2014-04-15 18:12:26 +02:00
Georg Fritzsche
c63002da12 Bug 993084 - Delay initialization of telemetry experiments if there is no active experiment. r=bsmedberg
To sync experiment state with the addon manager, we need to start it early when there is a
active experiment.
However, initializing the telemetry experiments system too early can lead to performance
regressions, so we delay the initialization if we don't have an active experiment.
2014-04-15 18:12:26 +02:00
Georg Fritzsche
fb55b58bb2 Bug 994727 - Telemetry experiments: Fix disabling the feature. r=bsmedberg 2014-04-11 16:29:29 +02:00
Gregory Szorc
73566b4041 Bug 989137 - Part 11: Make service initialization and uninitialization more robust; r=gfritzsche
Subsequent patches were running into race conditions and bugs related to
Experiments instance initialization state. This patch plugs the
necessary holes in initialization state management to unblock work.

The fixes are far from robust. There are still race conditions and bugs.
They should probably be addressed later.

--HG--
extra : rebase_source : 5f0c7fa1f554d09a21b1452506884dc771cb829d
2014-04-07 14:11:31 -07:00
Benjamin Smedberg
44d0d6e280 Bug 993084 attempt - make CommonUtils and Metrics imports lazy, since they aren't going to be needed anywhere near startup or when experiments is disabled, r=gps 2014-04-08 17:18:17 -04:00
Gregory Szorc
7d5905c002 Bug 989137 - Part 9: Ensure add-ons are enabled when they should be; r=Unfocused, r=gfritzsche
Experiment add-ons are disabled by default in the Addon Manager. This
patch will manually enable them if necessary.

--HG--
extra : rebase_source : 2271372b232b5d85af32a4a96f2e3beb867cabf9
2014-04-04 15:58:27 -07:00
Gregory Szorc
7f61a84118 Bug 989137 - Part 8: Prevent unknown experiments from being installed; r=Unfocused
The experiments service insists on being in control of experiments.
Before, it wasn't being as assertive as it needed to be: other browser
components could install experiments behind its back. This patch
reasserts the experiments service as king of experiments add-on
management.

--HG--
extra : rebase_source : 91439622e47419fae7675d83890e83cf37db453b
2014-04-04 15:58:26 -07:00
Benjamin Smedberg
13bd4bb780 Bug 985089 followup: fix mis-spelling of isNaN, r=gfritzsche 2014-04-04 09:16:58 -04:00
Benjamin Smedberg
cd2fddc1ce Bug 986582 - Get rid of the toolkit.telemetry.enabledPreRelease pref and make the toolkit.telemetry.enabled pref do the right thing for beta users who are testing a final release build, r=rnewman
--HG--
extra : rebase_source : 43f70e2c1c3207f37ba0789245958cb0c34187f6
2014-04-03 14:55:42 -04:00
Gregory Szorc
be328cb50e Bug 989137 - Part 5: Prefix each log message with the instance of the object; r=gfritzsche
We now maintain per-type counts/IDs of each Policy, Experiments, and
ExperimentEntry. The log events for each type are prefixed with the
count/ID so one can easily attribute events to specific instances.

--HG--
extra : rebase_source : 4f1fcc38e5f52ff38b90f9ce71e332492983ff37
2014-03-28 13:04:09 -07:00
Gregory Szorc
0966304b22 Bug 989137 - Part 4: Use a prefixing logger for Experiments logging; r=gfritzsche
Logging in the Experiments module were using a common pattern of
prefixing all messages with the type. We move this prefixing into
a prefixed logger.

--HG--
extra : rebase_source : 213a99e93a3569a7f2ab3d72fb37dc0c538e5c97
extra : source : 96def94c8fb705e5ad8af5a1393492a28ea47d16
2014-03-28 12:57:43 -07:00
Gregory Szorc
788eb651cc Bug 989137 - Part 2: Don't use a global logger; r=gfritzsche
As part of debugging subsequent patches, I ran into issues debugging the
interaction between multiple Experiments instances. To get to the bottom
of the problem, I had to make some changes to the logging framework.
This is the first patch in a sub-series dealing with logging.

This patch stops relying on the global logger. Subsequent patches will
make the logging output aid debugging.

--HG--
extra : rebase_source : 40b34a1444ff3fb70a9da7cf242ee522d6ec07ea
extra : source : 61877a5f15aa01dec05fe1882eae6ad9f18f81a0
2014-03-28 11:20:31 -07:00
Gregory Szorc
6b11c6bff9 Bug 989137 - Part 1: Uninstall unknown experiments; r=Unfocused
Before this patch, experiment add-ons may have existed in the Addons
Manager without the Experiments service knowing about them. This detects
these unknown add-ons and uninstalls them. See the in-line comment on
the rationale behind this decision.

The added unit test fails without the Experiments.jsm change.

--HG--
extra : rebase_source : bb0d0d5d77c7ae562f76e6c647eea25e6a06d99a
2014-03-26 22:20:23 -07:00
Gregory Szorc
551ac6a166 Bug 985084 - Experiment add-ons should be disabled by default; r=Unfocused
Experiment add-ons are now disabled by default on application load. It
is up to the Experiments Manager to enable them.

This means that experiments may not be able to reliably collect data or
modify behavior close to application startup. (There is a window between
when the Addon Manager initializes and when the Experiments Manager
initializes.) This window is acceptable for the initial version of the
experiments feature.

The Experiments Manager doesn't currently enable experiments on startup.
This will be addressed in a subsequent patch. Its tests do not regress
(indicating a lack of test coverage), so no harm no foul.

--HG--
extra : rebase_source : 00a55146576f490200a6148bd5516f84def9879c
extra : source : bd901384b973c7ff581fe24a3012f0191b8bbe67
2014-03-21 16:05:29 -07:00
Gregory Szorc
55de744e34 Backed out changeset 4834a3833639 and c580afddd1cb (bug 985084 and bug 97500)
--HG--
extra : histedit_source : c580afddd1cb90bd3cccbc7abc8082132ffe2a3c%2C4371c5775a71d493e82f193b1cf15efd44566645
2014-03-28 21:45:10 -07:00
Gregory Szorc
a871970414 Bug 985084 - Experiment add-ons should be disabled by default; r=Unfocused
Experiment add-ons are now disabled by default on application load. It
is up to the Experiments Manager to enable them.

This means that experiments may not be able to reliably collect data or
modify behavior close to application startup. (There is a window between
when the Addon Manager initializes and when the Experiments Manager
initializes.) This window is acceptable for the initial version of the
experiments feature.

The Experiments Manager doesn't currently enable experiments on startup.
This will be addressed in a subsequent patch. Its tests do not regress
(indicating a lack of test coverage), so no harm no foul.

--HG--
extra : rebase_source : 3c550090e3480127dc679cc5247f249ee822e76f
extra : amend_source : 9b5349b507c73b4713ec447e4f1a6cb841c11c56
extra : source : 0d72fd2fbd1d091c27fa4a0a9c1944282eaa9ac5
2014-03-21 16:05:29 -07:00
Gregory Szorc
b0f764b432 Bug 975000 - Disable updating and compatibility checking for Experiments; r=Unfocused
Experiment add-ons are installed and updated via the Experiments Manager
service. With this change, the Add-ons Manager lets experiment add-ons
play by their own rules without interference.

--HG--
extra : rebase_source : 4a7c30f8ce36a64f91f9fee49da9061eda568b99
2014-03-28 20:17:04 +01:00