gecko/services/healthreport
Gregory Szorc 63114eca76 Bug 827157 - Robust and performance sensitive recording of sessions; r=rnewman
We have introduced a new background service that captures session state
in preferences. Firefox Health Report now moves entries from preferences
to its database at payload generation time.

We've also introduced a few random APIs, such as enqueueTransaction()
and the ability for providers to have access to their own pref branch.
2013-01-18 22:35:07 -08:00
..
modules-testing Bug 828829 - Refactor Health Report policy out of services/healthreport; r=rnewman 2013-01-11 13:45:22 -08:00
tests Bug 827157 - Robust and performance sensitive recording of sessions; r=rnewman 2013-01-18 22:35:07 -08:00
healthreport-prefs.js bug 719484 - build about:healthreport, r=dolske 2013-01-11 15:31:38 -08:00
HealthReportComponents.manifest Bug 828829 - Refactor Health Report policy out of services/healthreport; r=rnewman 2013-01-11 13:45:22 -08:00
healthreporter.jsm Bug 827157 - Robust and performance sensitive recording of sessions; r=rnewman 2013-01-18 22:35:07 -08:00
Makefile.in Bug 828829 - Refactor Health Report policy out of services/healthreport; r=rnewman 2013-01-11 13:45:22 -08:00
profile.jsm Bug 812608 - Part 3: further tweaks to profile age fetch. r=trivial 2013-01-06 14:07:34 -08:00
providers.jsm Bug 827157 - Robust and performance sensitive recording of sessions; r=rnewman 2013-01-18 22:35:07 -08:00
README.rst Bug 808219 - Firefox Health Reporter service; r=rnewman 2012-11-13 20:22:09 -08:00

=====================
Firefox Health Report
=====================

This directory contains the implementation of the Firefox Health Report
(FHR).

Firefox Health Report is a background service that collects application
metrics and periodically submits them to a central server.

Implementation Notes
====================

The XPCOM service powering FHR is defined in HealthReportService.js. It
simply instantiates an instance of HealthReporter from healthreporter.jsm.

All the logic for enforcing the privacy policy and for scheduling data
submissions lives in policy.jsm.

Preferences
===========

Preferences controlling behavior of Firefox Health Report live in the
*healthreport.* branch.

Some important preferences are:

* **healthreport.serviceEnabled** - Controls whether the entire health report
  service runs. The overall service performs data collection, storing, and
  submission.

* **healthreport.policy.dataSubmissionEnabled** - Controls whether data
  submission is enabled. If this is *false*, data will still be collected
  and stored - it just won't ever be submitted to a remote server.

If the entire service is disabled, you lose data collection. This means that
data analysis won't be available because there is no data to analyze!

Other Notes
===========

There are many legal and privacy concerns with this code, especially
around the data that is submitted. Changes to submitted data should be
signed off by responsible parties.