Commit Graph

157 Commits

Author SHA1 Message Date
Gregory Szorc
4daf05ec72 Bug 968419 - Store and submit a persistent health report identifier; r=rnewman, r=bsmedberg
Up to this point, Firefox Health Report has generated and submitted a
random UUID with each upload. Generated UUIDs were stored on the client.
During upload, the client asked the server to delete all old UUIDs.
Well-behaving clients thus left at most one record/ID on the server.

Unfortunately, clients in the wild have not been behaving properly. We
are seeing multiple documents on the server that appear to come from the
same client. Clients are uploading new records but failing to delete the
old ones. These old, undeleted "orphan" records are severely impacting
the ability to derive useful knowledge from FHR data because it is
difficult, resource intensive, and error prone to filter the records on
the server. This is undermining the ability for FHR data to be put to
good use.

This patch introduces a persistent client identifier. When the client is
initialized, it generates a random UUID. That UUID is persisted to the
profile and sent as part of every upload.

For privacy reasons, if a client opts out of data submission, the client
ID will be reset as soon as all remote data has been deleted.

We still issue and send upload IDs. They exist mostly for forensics
purposes so we may log client behavior and more accurately determine
what exactly misbehaving, orphan-producing clients are doing.

It is worth noting that this persistent client identifier will not solve
all problems of branching and orphaned records. For example, profile
copying will result in multiple clients sharing a client identifier. A
"client ID version" field has been added to facilitate an upgrade path
towards client IDs with different generation semantics.

--HG--
extra : rebase_source : b761daab39fb07b6ab8883819d68bf53462314a0
2014-02-20 11:30:52 -08:00
Benjamin Smedberg
4766f8c541 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
d48a503b8b Bug 974024 - Add FHR recording of Telemetry Experiments activity; r=bsmedberg
--HG--
extra : rebase_source : 1e875e53da49c69194ee740898ff943d1801d1cf
2014-03-20 14:16:00 -07:00
Gregory Szorc
c8fcbe389c Bug 875562 - Part 9: Change Health Report to pull from crashes manager; r=bsmedberg, r=rnewman
This patch changes Firefox Health Report to pull crash counts from the
newly-implemented crash manager. The crash manager is now the canonical
source of crash data, so all the code for reading crash dump files from
disk has been removed.

This regresses the collection capability of Firefox Health Report by
removing plugin crashes and hangs from the reported values. This
regression is intended to be temporary and a follow-up bug will be
created to add plugin process event recording to the crash events
system.

This regression has been justified because the old crash reporting
mechanism was severely flawed and wasn't sending accurate data (not all
crashes were being saved to dumps and some dumps would be deleted).

--HG--
extra : amend_source : d54bb3bf9f740508cb4eda286536ce16a4c3bee5
2014-01-30 16:48:52 -08:00
Wes Kocher
0d01d793aa Backed out changeset 21793ea94b09 (bug 875562) for ASAN xpcshell failures 2014-03-13 15:22:40 -07:00
Gregory Szorc
b70f71e2b8 Bug 875562 - Part 9: Change Health Report to pull from crashes manager; r=bsmedberg, r=rnewman
This patch changes Firefox Health Report to pull crash counts from the
newly-implemented crash manager. The crash manager is now the canonical
source of crash data, so all the code for reading crash dump files from
disk has been removed.

This regresses the collection capability of Firefox Health Report by
removing plugin crashes and hangs from the reported values. This
regression is intended to be temporary and a follow-up bug will be
created to add plugin process event recording to the crash events
system.

This regression has been justified because the old crash reporting
mechanism was severely flawed and wasn't sending accurate data (not all
crashes were being saved to dumps and some dumps would be deleted).

--HG--
extra : rebase_source : 7442a712d06b4d875010e78d4dd4f5cc179c8dfc
2014-01-30 16:48:52 -08:00
Georg Fritzsche
dc9ddbc8a1 Bug 971279 - Fix FHR addon provider test for plugin data count. r=gps 2014-02-25 13:30:04 -08:00
Gregory Szorc
b72f214116 Bug 958561 - Measure Sync with Firefox Health Report; r=rnewman
Metrics for Sync have been added to Firefox Health Report. If Sync is
not configured, we'll report that fact and the supported and preferred
Sync protocols (1.1 or 1.5).

If Sync is configured, we report the daily counts of sync attempts and
how many are successful vs errored. We also report daily counts of the
device types attached to the account.

--HG--
extra : rebase_source : 77170b323706a85cbe1542ac993ebdc1dba3b505
extra : amend_source : 7802e80b4fc94937fbe3f67505b447bfb048732d
2014-02-05 08:08:14 -08:00
Georg Fritzsche
41da9eabcd Bug 928575 - Overhaul FHR data collection for extensions and plugins for desktop. r=gps 2014-01-15 16:12:41 +01:00
Gregory Szorc
7b9cd377df Bug 965587 - Add lock to Firefox Health Report uploading; r=rnewman
Previously, it was technically possible for the FHR client to have
multiple simultaneous uploads. While this should never occur in
well-behaving systems, server logs have indicated that this behavior
might be occurring.

This patch adds a lock around uploading to ensure only 1 upload
operation may be active at a given time.

To measure the impact of this change in the wild, we added a counter
that increments whenever a held lock is encountered.

--HG--
extra : rebase_source : f0bb5065a3618cd335b6b6f31e4e68850f31f151
2014-01-29 15:28:57 -08:00
Gregory Szorc
3a0b972eef Bug 959356 - Report isWow64 in Firefox Health Report; r=bsmedberg
Previously, we weren't measuring whether the machine was 64-bit
properly. This change allows us to report actual CPU architecture (at
least on Windows).

In the future, we may wish to properly report actual CPU architecture on
all operating systems.

--HG--
extra : rebase_source : 73b5673e870e959a33172ec22fee8c31db6e0e53
extra : amend_source : 64d2e23be07aa87bc5c150b6e613e6226c848ec8
2014-01-17 09:25:39 -08:00
Gregory Szorc
697ef661a8 Bug 961146 - Refactor Health Report documentation, import external docs; r=rnewman
FHR docs were extracted from /services/docs into their own compartment.
This arguably should have been done originally.

Documentation on the payload format has been imported from
https://github.com/mozilla-services/docs. Those docs were created in a
time before we had in-tree docs and this tree is a more logical home for
them.

--HG--
rename : services/docs/healthreport.rst => services/healthreport/docs/index.rst
extra : rebase_source : 4e2fd62cc98ea2620f580e34d032cb39bafb5108
extra : amend_source : bd6309cc9d53aba1b085067960bf20a94125c5b0
2014-01-22 17:47:15 -08:00
Gregory Szorc
7602964da6 Bug 939866 - Add Services docs to Sphinx; r=rnewman
DONTBUILD (NPOTB)

--HG--
extra : rebase_source : 5e4125ab7faa5493a10db903cf685ee1760f79ec
2013-11-17 19:39:55 -06:00
Gregory Szorc
84bd3e5562 Bug 946604 - Move makeFakeAppDir into testing/modules. r=rnewman 2013-12-05 16:54:15 +08:00
Ryan VanderMeulen
8c805a2f2a Bug 931642 - Backed out changeset f4449a06e97f (bug 917883) for causing frequent OSX crashes. 2013-12-03 18:45:17 -05:00
David Rajchenbach-Teller
4ac162abfd Bug 917883 - Use AsyncShutdown instead of spinning the event loop in healthreporter.jsm. r=gps 2013-11-15 21:46:38 -05:00
Richard Newman
07df1f49b4 Bug 925521 - Part 2: correctly record identifiers for non-pre-installed engines. r=gps
* * *
Bug 925521 - Review comments.
2013-10-18 12:31:39 -07:00
Richard Newman
ab84ef25f9 Bug 925521 - Part 1: remove filter on recorded search engine identifiers. r=gps 2013-10-18 12:27:57 -07:00
Blair McBride
908c3ef327 Bug 451283 - Move log4moz.js to Toolkit as Log.jsm. r=gps,Mossop
--HG--
rename : services/common/log4moz.js => toolkit/modules/Log.jsm
rename : services/common/tests/unit/test_log4moz.js => toolkit/modules/tests/xpcshell/test_Log.js
2013-08-26 11:55:58 -07:00
Richard Newman
65c16ea2a9 Bug 916186 - Don't record birth time in crashes provider. r=gps 2013-09-16 09:51:54 -04:00
Stefan Mirea
9a45656528 Bug 887518 - Move loadAddonManager() to test_provider_addons.js. r=gps 2013-06-26 15:32:27 -07:00
Stefan Mirea
a326bfb6a2 Bug 887081 - Attach healthreporter to global object. r=gps 2013-09-06 09:08:26 -07:00
Stefan Mirea
7fca2f87e3 Bug 887580 - Properly export object in profile.jsm and policy.jsm. r=gps 2013-06-26 17:01:45 -07:00
Mike Hommey
05b3f24e0e Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Joey Armstrong
4246f49c03 Bug 870370 - Move EXTRA_COMPONENTS to mozbuild (file batch #3); r=mshal 2013-06-11 16:38:22 -04:00
Gregory Szorc
ba63b1be2d Bug 884421 - Automatically select network ports for /services tests; r=rnewman 2013-07-23 13:53:05 -07:00
Gregory Szorc
c2eba8109d Backout b817406485f8 (bug 884421) for intermittent WinXP failures (bug 896093)
CLOSED TREE
2013-07-22 13:24:45 -07:00
Gregory Szorc
12b12adec1 Bug 864993 - Part 2: Properly implement app update collection; r=rnewman 2013-07-18 16:13:43 -07:00
Gregory Szorc
49f266f628 Bug 884421 - Automatic network port selection for /services tests; r=rnewman 2013-07-16 17:14:21 -07:00
Ryan VanderMeulen
7e3e2ab547 Backed out 3 changesets (bug 884421) for intermittent xpcshell failures on a CLOSED TREE.
Backed out changeset 75b7cf367efb (bug 884421)
Backed out changeset 2264c04671c4 (bug 884421)
Backed out changeset 45c529ffbe90 (bug 884421)
2013-07-18 14:08:18 -04:00
Gregory Szorc
c575a20ed1 Bug 884421 - Part 2: Use a non-standard port in DUMMY_URI; r=bustage 2013-07-17 11:11:58 -07:00
Gregory Szorc
9df4bc1b02 Bug 884421 - Automatic network port selection for /services tests; r=rnewman 2013-07-16 17:14:21 -07:00
Gregory Szorc
62df5c4f44 Bug 864993 - Add app update metrics to FHR; r=rnewman 2013-07-12 11:04:09 -07:00
Stefan Mirea
691821534a Bug 872758 - Delete all documents on FHR upload; r=gps 2013-06-21 10:30:30 -07:00
Stefan Mirea
f1317cbb98 Bug 868306 - Ignoring extensions.%ID%.getAddons.cache.enabled preference for addon submission; r=gps
Bug 868306 - Ignoring extensions.%ID%.getAddons.cache.enabled preference for addon submission; r=gps
2013-06-19 18:25:01 -07:00
Stefan Mirea
8d46240552 Bug 867902 - Remove old saved FHR payload from disk. r=gps 2013-06-18 11:06:20 -07:00
Stefan Mirea
32641334c4 Bug 852411 - Migrating from promise.js to Promise.jsm; r=gps 2013-06-13 18:36:21 -07:00
Gregory Szorc
fa4ba29ffa Backout 9080f6701733 (bug 852411) for hitting weird xpcshell test harness behavior in multiple local builds 2013-06-14 14:38:29 -07:00
Stefan Mirea
c338d6a58e Bug 852411 - Migrating from promise.js to Promise.jsm; r=gps
--HG--
extra : rebase_source : d03cdae978479605df0a7ea728916ba78a272ffb
2013-06-13 18:36:21 -07:00
Gregory Szorc
dd4e75e36c Bug 881991 - Properly detect already inserted sessions; r=rnewman
--HG--
extra : rebase_source : 2655dcc1230f05d37c3f43c1d2c4fb22768bd1f5
2013-06-12 13:17:51 -07:00
Gregory Szorc
c1b865f669 Bug 873629 - Remove 129 empty Makefile.in files; r=ted 2013-05-17 16:20:11 -07:00
Gregory Szorc
c82696379e Bug 850091 - Intermittent test_healthreporter.js 179 == 180; r=rnewman 2013-05-15 11:13:30 -07:00
Joey Armstrong
0d49db0381 bug 869143: phase2 cleanup for XPCSHELL_TEST conversion. r=mshal 2013-05-13 16:24:07 -04:00
Gregory Szorc
6b57cc6c3a Bug 846133 - Store FHR state in a file; r=rnewman
Preferences aren't robust. So, we're using a file.
2013-05-10 11:04:48 -07:00
Gregory Szorc
192b9dab0e Bug 869266 - Reduce number of SQL statements to record crashes; r=rnewman 2013-05-08 17:02:06 -07:00
Gavin Sharp
5ddebc4159 Bug 853071: add some build-time defines for channel-specific features, r=gps, f=bhearsum
--HG--
rename : browser/config/mozconfigs/linux32/release => browser/config/mozconfigs/linux32/beta
rename : browser/config/mozconfigs/linux64/release => browser/config/mozconfigs/linux64/beta
rename : browser/config/mozconfigs/macosx-universal/release => browser/config/mozconfigs/macosx-universal/beta
rename : browser/config/mozconfigs/win32/release => browser/config/mozconfigs/win32/beta
extra : transplant_source : %F6%CFK%CE%16v%07%8A%D5o%97%8C%BB%95q%D5%3C%93%2B%94
2013-04-25 12:23:21 -07:00
Mike Connor
4f01de86e9 bug 867737 - update FHR reporting URL, r=gps 2013-05-05 10:04:38 -04:00
Gregory Szorc
52009ff5cb Bug 860094 - Remove saving of last payload to disk; r=rnewman 2013-05-01 09:55:30 -07:00
Gregory Szorc
61cf51e9b8 Bug 854018 - Record counts for FHR upload actions; r=rnewman 2013-05-01 09:41:55 -07:00
Joey Armstrong
12356a4c50 bug 844655: Port XPCSHELL_TESTS to moz.build as XPCSHELL_TESTS_MANIFESTS 2013-04-29 14:49:00 -04:00