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
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
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
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
Stefan Mirea
a326bfb6a2
Bug 887081 - Attach healthreporter to global object. r=gps
2013-09-06 09:08:26 -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
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
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
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
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
Gregory Szorc
0f9f696004
Bug 861455 - Ensure all providers are loaded during important operations; r=rnewman
2013-04-22 12:33:24 -07:00
Gregory Szorc
60e1ab086c
Bug 830492 - Manually control WAL checkpointing during heavy I/O; r=rnewman
2013-04-16 11:45:02 -07:00
Nick Alexander
5411bce250
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
ea4bd019b6
Bug 848136 - Part 2: Checkpoint WAL after data collection; r=rnewman
2013-03-26 14:28:22 -07:00
Gregory Szorc
9d72abbf1f
Bug 837292 - Part 4: Followup to unbust part 2; r=rnewman
2013-03-19 13:03:07 -07:00
Gregory Szorc
c7e06acdce
Bug 837292 - Part 2: Report new measurement version only; r=rnewman
2013-03-19 11:08:24 -07:00
Gregory Szorc
cec42efb23
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
565606c986
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
e9f8ffb0d8
Bug 848861 - Send stack traces with FHR errors; r=rnewman, sr=mconnor
2013-03-18 15:07:07 -07:00
Gregory Szorc
852c2c9fdc
Bug 846083 - Submit an FHR payload after initialization failure; r=rnewman
2013-03-15 21:31:07 -07:00
Gregory Szorc
e0cb31b4d2
Bug 845935 - Don't perform FHR activities unless fully initialized; r=rnewman
2013-03-15 21:10:08 -07:00
Gregory Szorc
994a0b49e0
Bug 849947 - Flush preferences after FHR document submission; r=glandium, rnewman
2013-03-15 13:19:38 -07:00
Richard Newman
08fbe8babd
Merge m-c to s-c.
2013-03-14 15:03:48 -07:00
Richard Newman
f403fd66a6
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
0d7d75e9b9
Bug 845127 - Record Telemetry for wire size of Bagheera documents; r=rnewman
2013-03-13 10:14:41 -07:00
Gregory Szorc
cb85d896f0
Bug 841568 - Timer for daily data collection; r=rnewman
2013-03-13 09:34:41 -07:00
Gregory Szorc
21877d9dbb
Bug 847662 - Part 3: Move provider management code into provider manager; r=rnewman
...
--HG--
extra : rebase_source : 7096a6a63143e7e6790ccd498f4b453708baddf5
2013-03-11 14:12:24 -07:00
Gregory Szorc
b0fd2e9ef8
Bug 847662 - Part 1: Rename Metrics.Collector -> Metrics.ProviderManager; r=rnewman
...
--HG--
rename : services/metrics/collector.jsm => services/metrics/providermanager.jsm
rename : services/metrics/tests/xpcshell/test_metrics_collector.js => services/metrics/tests/xpcshell/test_metrics_provider_manager.js
extra : rebase_source : b5d1e1a54adca8c8fb948d18c176c4bfa36ff769
2013-03-07 05:06:46 -08:00
Gregory Szorc
0a997db5f7
Bug 846843 - Scrub profile directory from error strings; r=rnewman
2013-03-05 10:31:12 -08:00
Gregory Szorc
288ec4b107
Bug 845966 - Detect more errors during FHR initialization; r=rnewman
2013-02-27 16:52:29 -08:00
Gregory Szorc
6e10265a27
Bug 845431 - Send more errors in FHR payload; r=rnewman
2013-02-27 16:52:26 -08:00
Gregory Szorc
54e53bc513
Bug 842377 - Rename "constant only" to "pull only"; r=rnewman
...
The new name better reflects the lazy-init behavior of providers.
2013-02-18 13:05:07 -08:00
Gregory Szorc
e3718a0e0f
Bug 841244 - More Telemetry probes for Firefox Health Report. r=rnewman,gps,vladan
2013-02-18 12:45:53 -08:00
Richard Newman
3a47b447cc
Bug 838879 - Part 1: split HealthReporter and AbstractHealthReporter. r=gps
2013-02-13 16:32:45 -08:00
Gregory Szorc
d23ad1c3e9
Bug 828540 - Part 2: APIs to retrieve a registered provider; r=rnewman
...
--HG--
extra : rebase_source : 0b91c4da3adc153ff102872ce88245bab2c7cf7c
2013-02-12 16:32:45 -08:00
Gregory Szorc
4ebcf5a27d
Bug 838227 - Be more intelligent about activating constant-only providers. r=rnewman
...
This fixes a horrible bug that was preventing FHR from submitting data
for constant-only providers.
2013-02-06 19:26:26 -08:00
Gregory Szorc
1d11b68aad
Bug 838291 - More robust APIs for obtaining FHR data; r=rnewman
2013-02-05 20:31:48 -08:00
Gregory Szorc
5e1790025e
Bug 838072 - Part 3: Call collectDailyData from FHR; r=rnewman
2013-02-05 09:59:15 -08:00
Phil Ringnalda
835bf59994
Merge m-c to s-c
2013-02-04 18:12:00 -08:00
Gregory Szorc
74022f5d9c
Bug 828720 - Telemetry probes for Firefox Health Report; r=rnewman, f=vladan
2013-02-01 13:28:02 -08:00
Gregory Szorc
e629ae617e
Bug 836186 - Don't load FHR providers until they are used; r=rnewman
2013-01-31 08:58:19 -08:00
Gregory Szorc
c6c96c3474
Bug 836177 - Temporarily merge more JSMs to mitigate compartment overhead; r=rnewman
...
As with bug 834936, this is meant to be temporary until zones land and
we have decent JSM overhead levels.
2013-01-30 07:07:22 -08:00
Gregory Szorc
cf1a271733
Bug 834936 - Temporarily load JSMs into fewer compartments; r=rnewman
...
We concatenate JSMs together so we use less compartments and therefore
less memory. This is intended to be a temporary hack until the overhead
of compartments is less.
2013-01-27 11:26:48 -08:00
Richard Newman
15b0e79fdb
Bug 832067 - Discard cached statements in healthreporter. r=gps
2013-01-25 00:39:01 -08:00
Richard Newman
18ea2ae0e4
Bug 830922 - Include version inside measurement payload. r=gps
2013-01-25 00:32:33 -08:00