Commit Graph

81 Commits

Author SHA1 Message Date
Georg Fritzsche
1c791307a5 Bug 1113675 - Follow-up: Actually add the diagnostic to the AsyncShutdownTimeout state. 2014-12-24 18:08:45 +01:00
Georg Fritzsche
a7850b95a9 Bug 1113675 - Submit which health reporter provider is currently shutting down on AsyncShutdownTimeout. r=gps 2014-12-24 13:32:51 +01:00
Georg Fritzsche
784325d0e9 Bug 1110681 - The HealthReporter AsyncShutdownTimeout state should include what provider is currently initialized. r=yoric 2014-12-18 16:43:39 +01:00
Georg Fritzsche
e2867814f2 Bug 1110691 - Submit which health reporter provider is currently shutting down on AsyncShutdownTimeout. r=yoric 2014-12-12 14:50:07 +01:00
Georg Fritzsche
ab9e7f8f27 Bug 1064333 - Migrate the FHR client id to the datareporting service. r=gps 2014-10-17 17:24:04 +02:00
Carsten "Tomcat" Book
71a4c111cd Backed out changeset 5513b60463b8 (bug 1064333) for XPCshell test failures on a CLOSED TREE 2014-10-21 14:38:40 +02:00
Georg Fritzsche
8c752edd20 Bug 1064333 - Migrate the FHR client id to the datareporting service. r=gps 2014-10-15 17:34:53 +02:00
Wes Kocher
0bc6f1b8fb Backed out 4 changesets (bug 1064333) for XPCShell bustage
Backed out changeset 378314f2892c (bug 1064333)
Backed out changeset ccb8a2ac9746 (bug 1064333)
Backed out changeset 3466ed3b9b61 (bug 1064333)
Backed out changeset 553c113c8f4e (bug 1064333)
2014-10-16 13:37:37 -07:00
Georg Fritzsche
320adb5782 Bug 1064333 - Migrate the FHR client id to the datareporting service. r=gps 2014-10-16 20:11:03 +02:00
Carsten "Tomcat" Book
2116ef6f77 Backed out changeset 735f5c30d397 (bug 1064333) for XPC Bustage on a CLOSED TREE
--HG--
extra : amend_source : 8b12237f285b03acfe6e18cccc9f8480c6d385c2
2014-10-16 15:03:13 +02:00
Georg Fritzsche
994bf34704 Bug 1064333 - Migrate the FHR client id to the datareporting service. r=gps 2014-10-15 17:34:53 +02:00
Georg Fritzsche
984ecac29f Bug 1079341 - Missing yield on async makeDir in FHR state init. r=gps 2014-10-10 17:21:18 +02:00
Georg Fritzsche
3ec162d8ae Bug 862563 - Remove implicit acceptance for data reporting notification and notify on first run. r=gps
The data reporting notification was over-complicated. It wasn't
displayed for +24hr after first run and it had a weird, non-required
policy around what constituted acceptance of the policy.

The notification is now shown shortly after first startup.

The logic around "notification accepted" has been greatly simplified by
rolling it into "notification shown." Where we once were checking
whether the notification has been "accepted," we now check whether it
has been displayed. The overly complicated logic around the implicit
acceptance of the policy has also been removed.

The end result is the code for managing the state of the notification is
greatly simplified.
2014-07-09 14:32:29 -07:00
Gregory Szorc
ec27c4e647 Bug 1053315 - Catch more errors during upload; r=bsmedberg
If recording FHR data during uploading raised an exception, it could
potentially abort the upload. This would appear to Mozilla as clients
that suddenly stopped using Firefox.

This patch adds explicit exception trapping around event record to
ensure this doesn't happen.

--HG--
extra : rebase_source : 7cd207b08a4f62be55093c71cb56e28832fd39d8
extra : amend_source : 9144ecea16a013370fffa5c2e833af4ec528ef5b
2014-08-13 11:18:22 -07:00
Birunthan Mohanathas
e3009122fa Bug 1048989 - Fix 'useless expression' warnings with MERGED_COMPONENT. r=gps 2014-08-07 21:52:05 -07:00
Wes Kocher
7f46b4f0a4 Backed out changeset 8673477f5fc2 (bug 862563) for Windows mochitest-5 failures 2014-07-11 17:00:08 -07:00
Georg Fritzsche
b6e03c51f8 Bug 862563 - Remove implicit acceptance for data reporting notification and notify on first run; r=gps
The data reporting notification was over-complicated. It wasn't
displayed for +24hr after first run and it had a weird, non-required
policy around what constituted acceptance of the policy.

The notification is now shown shortly after first startup.

The logic around "notification accepted" has been greatly simplified by
rolling it into "notification shown." Where we once were checking
whether the notification has been "accepted," we now check whether it
has been displayed. The overly complicated logic around the implicit
acceptance of the policy has also been removed.

The end result is the code for managing the state of the notification is
greatly simplified.

--HG--
extra : rebase_source : 808efdf1edd103552f6aa10b5c4309b64e514773
extra : amend_source : e4252e6a850a348d1b5aca733121dd07cbc6a70a
extra : histedit_source : 10ec20a07677674a8c9a705a3ffb4dc46a22b890%2Ca9442934d5964f16e9ad1101b786b4d094ac228d
2014-07-09 14:32:29 -07:00
David Rajchenbach-Teller
0d756e9de3 Bug 1017706 - Make sure that healthreporter.jsm always initiates shutdown, even if it never receives quit-application. r=gps 2014-06-09 12:07:00 -04:00
David Rajchenbach-Teller
b79f0094d5 Bug 1017706 - Better logging for FHR AsyncShutdown. r=rnewman 2014-06-02 04:28:00 +02:00
David Rajchenbach-Teller
9f879e7816 Bug 917883 - Use AsyncShutdown instead of spinning the event loop in healthreporter.jsm. r=gps, r=rnewman 2014-05-22 02:11:00 -04:00
Gregory Szorc
4adb89bc72 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
Gregory Szorc
b14e377e09 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
Ryan VanderMeulen
b2b7a0f29e Bug 931642 - Backed out changeset f4449a06e97f (bug 917883) for causing frequent OSX crashes. 2013-12-03 18:45:17 -05:00
David Rajchenbach-Teller
9d8c8b77fd Bug 917883 - Use AsyncShutdown instead of spinning the event loop in healthreporter.jsm. r=gps 2013-11-15 21:46:38 -05:00
Blair McBride
f44c1d0d2f 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
Stefan Mirea
ba46a76f9c Bug 887081 - Attach healthreporter to global object. r=gps 2013-09-06 09:08:26 -07:00
Stefan Mirea
182a158660 Bug 872758 - Delete all documents on FHR upload; r=gps 2013-06-21 10:30:30 -07:00
Stefan Mirea
a33dfc5f5f Bug 867902 - Remove old saved FHR payload from disk. r=gps 2013-06-18 11:06:20 -07:00
Stefan Mirea
fa0e1df968 Bug 852411 - Migrating from promise.js to Promise.jsm; r=gps 2013-06-13 18:36:21 -07:00
Gregory Szorc
cf599037bc 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
f1ea85072a 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
ceac8b9cf4 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
Gavin Sharp
ea8b76dbc4 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
Gregory Szorc
c467af8637 Bug 860094 - Remove saving of last payload to disk; r=rnewman 2013-05-01 09:55:30 -07:00
Gregory Szorc
9390ea951e Bug 854018 - Record counts for FHR upload actions; r=rnewman 2013-05-01 09:41:55 -07:00
Gregory Szorc
0286e7f623 Bug 861455 - Ensure all providers are loaded during important operations; r=rnewman 2013-04-22 12:33:24 -07:00
Gregory Szorc
e22d5163e4 Bug 830492 - Manually control WAL checkpointing during heavy I/O; r=rnewman 2013-04-16 11:45:02 -07:00
Nick Alexander
1e840733ac Bug 848519 - Part 3: Replace services-common/preferences.js with gre/modules/Preferences.jsm in imports. r=gavin 2013-04-15 12:45:37 -07:00
Gregory Szorc
e10a1f7e4d Bug 848136 - Part 2: Checkpoint WAL after data collection; r=rnewman 2013-03-26 14:28:22 -07:00
Gregory Szorc
e48b8f37d4 Bug 837292 - Part 4: Followup to unbust part 2; r=rnewman 2013-03-19 13:03:07 -07:00
Gregory Szorc
d2b6632bd2 Bug 837292 - Part 2: Report new measurement version only; r=rnewman 2013-03-19 11:08:24 -07:00
Gregory Szorc
3b9cc78e74 Bug 837292 - Part 1: Don't give each provider its own Preferences object; r=rnewman 2013-03-18 20:48:13 -07:00
Gregory Szorc
5fc83ce80c Bug 845842 - Use promises that resolve on later ticks; r=rnewman
This is meant as a temporary workaround until a built-in promise library
offers similar functionality.
2013-03-18 20:47:34 -07:00
Gregory Szorc
8db0e93aa1 Bug 848861 - Send stack traces with FHR errors; r=rnewman, sr=mconnor 2013-03-18 15:07:07 -07:00
Gregory Szorc
d85437367b Bug 846083 - Submit an FHR payload after initialization failure; r=rnewman 2013-03-15 21:31:07 -07:00
Gregory Szorc
7ea2ea768e Bug 845935 - Don't perform FHR activities unless fully initialized; r=rnewman 2013-03-15 21:10:08 -07:00
Gregory Szorc
b6ebd60dd3 Bug 849947 - Flush preferences after FHR document submission; r=glandium, rnewman 2013-03-15 13:19:38 -07:00
Richard Newman
ae0ea15f23 Merge m-c to s-c. 2013-03-14 15:03:48 -07:00
Richard Newman
87718aec24 Bug 849353 - Add basic app info section to top level of FHR payload. r=gps 2013-03-14 11:24:12 -07:00
Gregory Szorc
70f019c2a7 Bug 845127 - Record Telemetry for wire size of Bagheera documents; r=rnewman 2013-03-13 10:14:41 -07:00