Commit Graph

114 Commits

Author SHA1 Message Date
Benjamin Smedberg
87de74ea00 Bug 1053745 more follow up. Make all the predicates match. r=gfritzsche
--HG--
extra : rebase_source : 49f473c81820b31f4f467f491defe43f7b09a29b
2014-10-08 12:17:45 -04:00
Andrew Halberstadt
2da4ee197d Bug 1066735 - Remove root b2g and android specific xpcshell manifests, r=chmanchester 2014-10-07 18:18:28 -04:00
Benjamin Smedberg
fab6ce367b Bug 1053745 - Add GMP plugin data to FHR, r=gfritzsche
--HG--
extra : rebase_source : d60d6740369f51168e2d176549b9495df5245143
2014-09-05 11:17:00 -04:00
Birunthan Mohanathas
404b11dccf Bug 1024672 - Part 4: Add workaround to continue providing submission data using DailyCrashesMeasurement. r=gps 2014-08-21 15:43:54 -07:00
Birunthan Mohanathas
b809847eaf Bug 1024672 - Part 3: Remove CrashManager.addSubmission in favor of CrashManager.addSubmission{Attempt,Result}. r=gps 2014-08-21 15:43:50 -07:00
Gregory Szorc
9b928cab7a Bug 1055102 - Properly handle Unicode in Bagheera payloads; r=bsmedberg
It was observed that FHR was sending invalid JSON payloads to the
server. Specifically, JSON payloads contained invalid Unicode strings.

Investigation revealed that the culprint was CommonUtils.convertString()
silently swallowing high bytes. When the Bagheera client went to gzip
the JSON payload, the input buffer into gzip was missing high bytes.

This patch changes the bagheera client to UTF-8 encode strings before
gzip, thus ensuring all data is preserved. A corresponding change was
also added to the mock bagheera server implementation.

Alternatively, we could have changed CommonUtils.convertString() to
be high byte aware. However, many consumers rely on this function.
This patch is written with the intent of being uplifted and the change
performed is targeted at the specific problem.

Tests for Unicode preserving behavior have been added to both the
generic Bagheera client and to FHR. The latter test is arguably
not necessary, but peace of mind is a good thing, especially with
FHR.

See also bug 915850.

--HG--
extra : rebase_source : 4efddea7767c2e5f8cf19df247c3aba07c40eec6
extra : amend_source : ae3b6d89efa54fc9ed1794404476622946ad4b22
2014-08-19 09:12:12 -07: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
Drew Willcoxon
2258afd165 Bug 1009765 - Add GMP plugin crashes to FHR crash reporting (part 2: FHR, toolkit/components/crashes). r=gps 2014-08-08 15:41:07 -07:00
Gregory Szorc
4c3a010d92 Bug 1014524 - Report update hotfix results in FHR; r=rnewman
The v20140527.01 update hotfix deposited a JSON file in the profile
directory containing state. This file was purposefully not deleted
during hotfix uninstall so its contents could be later reported in
FHR.

This patch adds that reporting to FHR.

Currently, we only report a subset of the available fields. The
remaining "public" fields could be added easily enough. For now, it is
important that we capture the important ones.

--HG--
extra : rebase_source : 925d6ea04118296108327dc843323b150b87b208
2014-07-25 12:25:06 -07: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
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
Gregory Szorc
cd3dbd7747 Bug 1033836 - Rename services-common to services/common; rs=rnewman
The upcoming build system patches don't support hypthens in path names.
Changing this for that reason is kind of silly, but it's the easiest
way. Besides, nothing else uses hyphens in directory names.

--HG--
extra : rebase_source : 42dda2b1f16a3c0bfe17397a70092362e400530f
2014-07-02 16:49:36 -07:00
Steven MacLeod
84d99bb465 Bug 994707 - Introduce crash submission events and handle them. r=bsmedberg
This introduces a new crash event type for submissions and handles
them in the Crash Manager. These crash submissions will also be counted
in FHR.

--HG--
extra : rebase_source : c37fc86cecc86aea0afdd8cfa7b31295aad3d6f8
2014-07-03 14:04:28 -04:00
Gregory Szorc
90626e2426 Bug 1029031 - Record default search provider in FHR; r=bsmedberg, MattN
--HG--
extra : rebase_source : 7e3c2688db567bac8760c405d9e9d7d41e8564d9
extra : amend_source : a5f4264ec947ae27e3036018034e0b17bf1e8590
2014-06-25 12:44:00 -07:00
David Rajchenbach-Teller
d94352ccd6 Bug 1016389 - Fix uncaught async error in test_healthreporter.js. r=rnewman 2014-05-27 08:06:00 -04: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
Drew Willcoxon
37cce7bee9 Bug 983313 - Write crash events for plugin crashes and hangs (part 2: FHR). r=bsmedberg,rnewman 2014-05-12 12:00:11 -07:00
Drew Willcoxon
97246d948a Bug 983313 - Write crash events for plugin crashes and hangs (part 1: main changes). r=bsmedberg 2014-05-12 11:58:18 -07:00
Drew Willcoxon
fa13495992 Bug 975786 - Add FHR search source for about:newtab. r=rnewman 2014-04-24 19:09:18 -07: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
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
76bf714c29 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
51fb4209af Backed out changeset 21793ea94b09 (bug 875562) for ASAN xpcshell failures 2014-03-13 15:22:40 -07:00
Gregory Szorc
808ce3d50e 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
c016e5792f Bug 971279 - Fix FHR addon provider test for plugin data count. r=gps 2014-02-25 13:30:04 -08:00
Georg Fritzsche
210817b7d7 Bug 928575 - Overhaul FHR data collection for extensions and plugins for desktop. r=gps 2014-01-15 16:12:41 +01: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
Gregory Szorc
6f789f2007 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
c2ffac6b06 Bug 946604 - Move makeFakeAppDir into testing/modules. r=rnewman 2013-12-05 16:54:15 +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
Richard Newman
72e1ff6dbd 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
8f55a03027 Bug 925521 - Part 1: remove filter on recorded search engine identifiers. r=gps 2013-10-18 12:27:57 -07:00
Stefan Mirea
012901e614 Bug 887518 - Move loadAddonManager() to test_provider_addons.js. r=gps 2013-06-26 15:32:27 -07:00
Gregory Szorc
1b5935bf4e Bug 884421 - Automatically select network ports for /services tests; r=rnewman 2013-07-23 13:53:05 -07:00
Gregory Szorc
b5b9e31d6d Backout b817406485f8 (bug 884421) for intermittent WinXP failures (bug 896093)
CLOSED TREE
2013-07-22 13:24:45 -07:00
Gregory Szorc
bfd935b20e Bug 864993 - Part 2: Properly implement app update collection; r=rnewman 2013-07-18 16:13:43 -07:00
Gregory Szorc
e8544c1cc3 Bug 884421 - Automatic network port selection for /services tests; r=rnewman 2013-07-16 17:14:21 -07:00
Ryan VanderMeulen
becb568896 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
a6dc9ba754 Bug 884421 - Part 2: Use a non-standard port in DUMMY_URI; r=bustage 2013-07-17 11:11:58 -07:00
Gregory Szorc
629ed5fed5 Bug 884421 - Automatic network port selection for /services tests; r=rnewman 2013-07-16 17:14:21 -07:00
Gregory Szorc
e2331134ac Bug 864993 - Add app update metrics to FHR; r=rnewman 2013-07-12 11:04:09 -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
96ce178b55 Bug 881991 - Properly detect already inserted sessions; r=rnewman
--HG--
extra : rebase_source : 2655dcc1230f05d37c3f43c1d2c4fb22768bd1f5
2013-06-12 13:17:51 -07:00