gecko-dev/services/healthreport
Gregory Szorc 89cf5cf08e 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
..
modules-testing Bug 793928: Switch users of the promise library to the new location and move tests files. r=gavin 2013-02-01 11:43:15 -08:00
tests Bug 828540 - Part 2: APIs to retrieve a registered provider; r=rnewman 2013-02-12 16:32:45 -08:00
HealthReport.jsm Bug 828540 - Part 1: Health Report provider for recording search counts; r=rnewman 2013-02-12 16:32:43 -08:00
HealthReportComponents.manifest Bug 828540 - Part 1: Health Report provider for recording search counts; r=rnewman 2013-02-12 16:32:43 -08:00
Makefile.in Bug 837803 - Proper build dependencies for preprocessed FHR files; r=glandium 2013-02-05 09:59:06 -08:00
README.rst Bug 808219 - Firefox Health Reporter service; r=rnewman 2012-11-13 20:22:09 -08:00
healthreport-prefs.js Bug 830489 - Delay initializing FHR database on first run; r=rnewman 2013-02-05 20:25:48 -08:00
healthreporter.jsm Bug 828540 - Part 2: APIs to retrieve a registered provider; r=rnewman 2013-02-12 16:32:45 -08:00
profile.jsm Merge m-c to s-c 2013-02-04 18:12:00 -08:00
providers.jsm Bug 828540 - Part 1: Health Report provider for recording search counts; r=rnewman 2013-02-12 16:32:43 -08:00

README.rst

=====================
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.