Telemetry/Experiments: Difference between revisions

Jump to navigation Jump to search
clean up docs
(Document engineering requirements for telemetry experiments to pass review)
(clean up docs)
Line 19: Line 19:
=== Repository and Reviews ===
=== Repository and Reviews ===


Experiments must be developed in the public [http://hg.mozilla.org/webtools/telemetry-experiment-server telemetry experiment server] source repository and must be reviewed just as if they were part of Firefox on mozilla-central.
Experiments must be developed in the public [http://hg.mozilla.org/webtools/telemetry-experiment-server telemetry experiment server] source repository and must be reviewed just as if they were part of Firefox on mozilla-central. If an experiment adds special data collection, that data collection must be [[Firefox/Data Collection|documented and reviewed]] as normal.


To request reviews, file a bug against the [https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20Health%20Report&component=Client%3A%20Desktop Firefox Health Report product, Desktop Client component].
To request reviews, file a bug against the [https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20Health%20Report&component=Client%3A%20Desktop Firefox Health Report product, Desktop Client component].
Line 33: Line 33:
Unlike other restartless extensions, experiments must have a top-level <code>manifest.json</code> file. The <code>manifest.json</code> format is not currently documented, though examples can be found by looking at past experiments [http://hg.mozilla.org/webtools/telemetry-experiment-server in the telemetry-experiment-server mercurial repo].
Unlike other restartless extensions, experiments must have a top-level <code>manifest.json</code> file. The <code>manifest.json</code> format is not currently documented, though examples can be found by looking at past experiments [http://hg.mozilla.org/webtools/telemetry-experiment-server in the telemetry-experiment-server mercurial repo].


In particular, note that the <code>name</code> field is visible to end users, so it should be  
In particular, note that the <code>name</code> field is visible to end users, so it should be accurate and not confusing.
 
=== <code>DOCUMENTATION</code> file ===
 
A DOCUMENTATION file must be included with the experiment, detailing the URL endpoints and data/data format used by the experiment.


=== Extension Lifecycle ===
=== Extension Lifecycle ===


Use the bootstrap.js <code>startup</code> method to kick off experiments, rather than the <code>install</code> method, so that the experiment will try again if it's aborted by Firefox shutting down.
Most experiments live for a fixed period and are uninstalled by the experiment system at the end date or after the specified elapsed time.


Experiments must uninstall themselves when done, which must include cleaning up resources and calling <code>Experiments.disableExperiment("FROM_API")</code>.
A few experiments are intended to collect data once and then uninstall themself. These experiments should uninstall themselves when done by calling <code>Experiments.disableExperiment("FROM_API")</code>.


== Staging ==
== Staging ==
Confirmed users, Bureaucrats and Sysops emeriti
1,217

edits

Navigation menu