gecko/services/healthreport
Gregory Szorc 1a0c8b87f1 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
..
modules-testing Bug 834936 - Temporarily load JSMs into fewer compartments; r=rnewman 2013-01-27 11:26:48 -08:00
tests Bug 834936 - Temporarily load JSMs into fewer compartments; r=rnewman 2013-01-27 11:26:48 -08:00
healthreport-prefs.js bug 719484 - build about:healthreport, r=dolske 2013-01-11 15:31:38 -08:00
HealthReport.jsm Bug 836177 - Temporarily merge more JSMs to mitigate compartment overhead; r=rnewman 2013-01-30 07:07:22 -08:00
HealthReportComponents.manifest Bug 834936 - Temporarily load JSMs into fewer compartments; r=rnewman 2013-01-27 11:26:48 -08:00
healthreporter.jsm Bug 836177 - Temporarily merge more JSMs to mitigate compartment overhead; r=rnewman 2013-01-30 07:07:22 -08:00
Makefile.in Bug 834936 - Temporarily load JSMs into fewer compartments; r=rnewman 2013-01-27 11:26:48 -08:00
profile.jsm Bug 834936 - Temporarily load JSMs into fewer compartments; r=rnewman 2013-01-27 11:26:48 -08:00
providers.jsm Bug 834936 - Temporarily load JSMs into fewer compartments; r=rnewman 2013-01-27 11:26:48 -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.