-
Notifications
You must be signed in to change notification settings - Fork 15
Add METRICS.md and initial telemetry setup #134
Comments
@chuckharmston Now that we have a list of the probes we want, should we start the data collection review? Would you be the one running that? I'm not sure whether the feedback form needs to be part of that review, either. |
The first task here is to take the list of events we want to capture and draft a schema for Chuck and our data analyst to review. That would then be submitted for the formal Data Collection review. Here are some examples of metrics docs from other Test Pilot projects (thanks Chuck for sharing):
|
Chuck noted in Slack that we should not be collecting telemetry involving pages in private browsing mode, nor when Do Not Track or Tracking Protection are enabled. |
Here's an example of a WE that uses the new WE Telemetry API. Here's a proof-of-concept I made: a simple WE that registers and records a telemetry event and scalar on start-up. |
* Adds METRICS.md document in a new 'docs' subfolder. * Adds 'telemetry.js' background script which registers all events and provides a wrapper method to record events. * The event 'send_system_notice' was originally 'send_system_notification', however, that exceeded the [string length limit](https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/collection/events.html#limits) imposed by Event Telemetry. * There is no need to unregister the events, as the events are only registered for the duration of the [current Firefox session](https://dxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/core/nsITelemetry.idl#484). Note: This PR does not actually record any events. That will happen in subsequent PRs. For the setup here, I did confirm that I can successfully records events in 'about:telemetry#events-tab' once 'browser.telemetry.recordEvent' is called. This can be confirmed by adding `telemetry.recordEvent('badge_toolbar_button', 'toolbar_button', null, {badge_type: 'add'});` after `telemetry.init()` in './src/background/index.js'.
* Adds METRICS.md document in a new 'docs' subfolder. * Adds 'telemetry.js' background script which registers all events and provides a wrapper method to record events. * The event 'send_system_notice' was originally 'send_system_notification', however, that exceeded the [string length limit](https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/collection/events.html#limits) imposed by Event Telemetry. * There is no need to unregister the events, as the events are only registered for the duration of the [current Firefox session](https://dxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/core/nsITelemetry.idl#484). Note: This PR does not actually record any events. That will happen in subsequent PRs. For the setup here, I did confirm that I can successfully records events in 'about:telemetry#events-tab' once 'browser.telemetry.recordEvent' is called. This can be confirmed by adding `telemetry.recordEvent('badge_toolbar_button', 'toolbar_button', null, {badge_type: 'add'});` after `telemetry.init()` in './src/background/index.js'.
* Adds METRICS.md document in a new 'docs' subfolder. * Adds 'telemetry.js' background script which registers all events and provides a wrapper method to record events. * The event 'send_system_notice' was originally 'send_system_notification', however, that exceeded the [string length limit](https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/collection/events.html#limits) imposed by Event Telemetry. * There is no need to unregister the events, as the events are only registered for the duration of the [current Firefox session](https://dxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/core/nsITelemetry.idl#484). Note: This PR does not actually record any events. That will happen in subsequent PRs. For the setup here, I did confirm that I can successfully records events in 'about:telemetry#events-tab' once 'browser.telemetry.recordEvent' is called. This can be confirmed by adding `telemetry.recordEvent('badge_toolbar_button', 'toolbar_button', null, {badge_type: 'add'});` after `telemetry.init()` in './src/background/index.js'.
* Adds METRICS.md document in a new 'docs' subfolder. * Adds 'telemetry.js' background script which registers all events and provides a wrapper method to record events. * The event 'send_system_notice' was originally 'send_system_notification', however, that exceeded the [string length limit](https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/collection/events.html#limits) imposed by Event Telemetry. * There is no need to unregister the events, as the events are only registered for the duration of the [current Firefox session](https://dxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/core/nsITelemetry.idl#484). Note: This PR does not actually record any events. That will happen in subsequent PRs. For the setup here, I did confirm that I can successfully records events in 'about:telemetry#events-tab' once 'browser.telemetry.recordEvent' is called. This can be confirmed by adding `telemetry.recordEvent('badge_toolbar_button', 'toolbar_button', null, {badge_type: 'add'});` after `telemetry.init()` in './src/background/index.js'.
* Adds METRICS.md document in a new 'docs' subfolder. * Adds 'telemetry.js' background script which registers all events and provides a wrapper method to record events. * The event 'send_system_notice' was originally 'send_system_notification', however, that exceeded the [string length limit](https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/collection/events.html#limits) imposed by Event Telemetry. * There is no need to unregister the events, as the events are only registered for the duration of the [current Firefox session](https://dxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/core/nsITelemetry.idl#484). Note: This PR does not actually record any events. That will happen in subsequent PRs. For the setup here, I did confirm that I can successfully records events in 'about:telemetry#events-tab' once 'browser.telemetry.recordEvent' is called. This can be confirmed by adding `telemetry.recordEvent('badge_toolbar_button', 'toolbar_button', null, {badge_type: 'add'});` after `telemetry.init()` in './src/background/index.js'.
* Adds METRICS.md document in a new 'docs' subfolder. * Adds 'telemetry.js' background script which registers all events and provides a wrapper method to record events. * The event 'send_system_notice' was originally 'send_system_notification', however, that exceeded the [string length limit](https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/collection/events.html#limits) imposed by Event Telemetry. * There is no need to unregister the events, as the events are only registered for the duration of the [current Firefox session](https://dxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/core/nsITelemetry.idl#484). Note: This PR does not actually record any events. That will happen in subsequent PRs. For the setup here, I did confirm that I can successfully records events in 'about:telemetry#events-tab' once 'browser.telemetry.recordEvent' is called. This can be confirmed by adding `telemetry.recordEvent('badge_toolbar_button', 'toolbar_button', null, {badge_type: 'add'});` after `telemetry.init()` in './src/background/index.js'.
Fix #134: Add METRICS.md and initial telemetry setup
To better understand how our add-on is used and how users shop on the web, we'd like to add some probes using Event Telemetry. A webextension API for Telemetry that includes events landed in 63: https://mail.mozilla.org/pipermail/firefox-dev/2018-August/006769.html
This gist contains the initial list of events we're interested in tracking. We'll also need a markdown file documenting our data collection; see the Notes metrics.md file for an example, although there's no strict format.
This issue will probably be split out to multiple issues, but we'll need to do some initial exploration to determine that split first.
The text was updated successfully, but these errors were encountered: