Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

[Telemetry] Send add-on ids in separate ping #8920

Closed
liuche opened this issue Mar 3, 2020 · 8 comments · Fixed by #11080
Closed

[Telemetry] Send add-on ids in separate ping #8920

liuche opened this issue Mar 3, 2020 · 8 comments · Fixed by #11080
Assignees
Labels
E1 Estimation Point: trivial, less than half day eng:qa:verified QA Verified Feature:Telemetry Feature:WebExtensions

Comments

@liuche
Copy link
Contributor

liuche commented Mar 3, 2020

This is a follow-up to #6174.

Owner: Vesta

Description & Product Manager / Data Scientist User Story

  • I want to know how users interact with WebExtensions in Fenix in order to better prioritize related bugs or enhancements.

What questions will you answer with this data?

How many user have a specific add-on installed, and how many have the add-on installed and enabled, over a specific time period

Why does Mozilla need to answer these questions? Are there benefits for users? Do we need this information to address product or business requirements?

To see what addons are the most popular with users, so Fenix can better support those addons.

What probes (suggested, if applicable)

  • In a separate ping (i.e. not part of metrics ping) similar to activation ping.
    • BrowserMenuFact with the add-on id
    • installed/removed/enabled/disabled add-ons, with a ping with the enabled and installed add-ons that is emitted via WebExtensionFact

Dependencies (Added by PM and Eng)

None

Acceptance Criteria (Added by PM)

  • Event pings can be queried via re:dash
  • We are sending telemetry events for the actions listed in the requirements
  • We have documented the telemetry
  • We have asked a data steward to review the telemetry
  • NOT an AC: Data science to create dashboard or further graphs (this will be a separate issue, this issue is only about hooking up the events described and that they can be queried in re-dash)

┆Issue is synchronized with this Jira Task

@github-actions github-actions bot added the needs:triage Issue needs triage label Mar 3, 2020
@liuche
Copy link
Contributor Author

liuche commented Mar 3, 2020

cc @gabrielluong

@gabrielluong gabrielluong self-assigned this Mar 3, 2020
@vesta0 vesta0 removed the needs:triage Issue needs triage label Apr 14, 2020
@vesta0 vesta0 added this to Prioritized Feature Backlog in Fenix Sprint Kanban Apr 14, 2020
@vesta0 vesta0 added this to Telemetry & User engagement in Fenix Q2 Feature Backlog Apr 14, 2020
@liuche
Copy link
Contributor Author

liuche commented Apr 15, 2020

Chatted with chutten and he had two recommendations:

  1. Include the Addon Ids in the default "metrics" ping. This is the ping where all Glean metrics go by default. It has the client_id and is sent at most daily.

  2. Create a custom "addon" ping (like our activation ping) which either does or does not have the client_id (up to you) and is sent whenever you think it's best that it be sent (maybe only whenever an addon is added or removed?).

and he recommended 2.

I don't think you need to figure out what the environment ping is in Desktop, because it's just a ping that is added to various pings.

@Dexterp37
Copy link
Contributor

Chatted with chutten and he had two recommendations:
...
and he recommended 2.

There is also the third option of using events in this case. The option that should be picked really depends on the questions that need to be answered and whether or not the data is adequate to answer them.

If data science will end up answering these questions, then it would be a good idea to involve them early in the design. @magorlick is this in your land?

I don't think you need to figure out what the environment ping is in Desktop, because it's just a ping that is added to various pings.

I agree. We should not cargo cult what's in the legacy telemetry Environment for Firefox Desktop. We should only introduce what's required to answer the specific questions that are being asked.

@liuche
Copy link
Contributor Author

liuche commented Apr 15, 2020

Data Science document addressing methodology and analysis are here, so when that discussion is resolved, this bug can continue: https://docs.google.com/document/d/1HBIe3M0r3QMenVETuGDik2KtLOoMFCiyBFfItqi2dNk/edit#

Jira: https://jira.mozilla.com/browse/DO-207

@sblatz sblatz added this to In progress in Feature engagement Apr 23, 2020
@vesta0 vesta0 removed this from Measure user engagement in Fenix Q2 Feature Backlog Apr 26, 2020
@vesta0 vesta0 removed this from Prioritized Feature Backlog in Fenix Sprint Kanban Apr 28, 2020
@vesta0 vesta0 added this to Q2: Fenix in Fenix Product Backlog May 12, 2020
@vesta0 vesta0 removed this from Q2: Fenix in Fenix Product Backlog May 12, 2020
@vesta0 vesta0 added this to Prioritized Backlog in Fenix Sprint Kanban May 21, 2020
@vesta0 vesta0 moved this from Prioritized Backlog to Inbox in Fenix Sprint Kanban May 21, 2020
@liuche liuche added the size S label May 21, 2020
@liuche liuche moved this from Inbox to Prioritized Backlog in Fenix Sprint Kanban May 21, 2020
@liuche liuche added this to Backlog in Tabs Tray May 21, 2020
@liuche liuche removed this from Prioritized Backlog in Fenix Sprint Kanban May 21, 2020
@liuche
Copy link
Contributor Author

liuche commented May 23, 2020

@vesta0 I think we need to ping Data Science on this again. I don't see any updates in the doc or the Jira ticket:
https://docs.google.com/document/d/1HBIe3M0r3QMenVETuGDik2KtLOoMFCiyBFfItqi2dNk/edit#

Jira: https://jira.mozilla.com/browse/DO-207

Alternatively! I would suggest that we could just add this telemetry proposed by gl (collecting the installed addon ids in the metrics ping) and then once DS has more time, we can revisit this issue.

@vesta0
Copy link
Collaborator

vesta0 commented May 25, 2020

@liuche yes please, let's go ahead and add the telemetry proposed by @gabrielluong

@magorlick
Copy link

I recommend including a list of the installed addon_ids on the metrics ping each time it is sent. Capturing the state of the add ons each time on the metrics ping makes analyzing the top enabled addons over time easy and does not require a historic look back. Please see my comments from early April, they are still valid.

@liuche liuche added the E1 Estimation Point: trivial, less than half day label May 28, 2020
@gabrielluong gabrielluong moved this from Backlog to In Review in Tabs Tray May 30, 2020
gabrielluong added a commit to gabrielluong/fenix that referenced this issue Jun 1, 2020
gabrielluong added a commit to gabrielluong/fenix that referenced this issue Jun 2, 2020
gabrielluong added a commit to gabrielluong/fenix that referenced this issue Jun 3, 2020
Tabs Tray automation moved this from In Review to Done Jun 4, 2020
@boek boek moved this from Done to Ready for QA in Tabs Tray Jun 4, 2020
@boek boek added the eng:qa:needed QA Needed label Jun 4, 2020
@boek boek reopened this Jun 4, 2020
Tabs Tray automation moved this from Ready for QA to In Progress Jun 4, 2020
@gabrielluong gabrielluong moved this from In Progress to Ready for QA in Tabs Tray Jun 4, 2020
@AndiAJ
Copy link
Collaborator

AndiAJ commented Jun 5, 2020

Hi, verified as fixed on the latest Nightly Build 200605 from 6/5 using a Google Pixel 3a (Android 10)

Add-on name "addon_id"
uBlock "uBlock0@raymondhill.net"
Dark Reader "addon@darkreader.org"
HTTPS Everywhere "https-everywhere@eff.org"
No Script "{73a6fe31-595d-460b-a920-fcc0f8843232}"
Privacy Badger "jid1-MnnxcxisBPnSXQ@jetpack"
Search by Image "{2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}"

✔️ Event: Open each Add-on from the ⋮ Main menu - Ping 7dd8ddd6-2c38-4e61-bc54-8e56275bfaf8

"events": [
        {
          "category": "addons",
          "extra": {
            "addon_id": "addon@darkreader.org"
          },
          "name": "open_addon_in_toolbar_menu",
          "timestamp": 0
        },
        {
          "category": "addons",
          "extra": {
            "addon_id": "https-everywhere@eff.org"
          },
          "name": "open_addon_in_toolbar_menu",
          "timestamp": 4524
        },
        {
          "category": "addons",
          "extra": {
            "addon_id": "{73a6fe31-595d-460b-a920-fcc0f8843232}"
          },
          "name": "open_addon_in_toolbar_menu",
          "timestamp": 8531
        },
        {
          "category": "addons",
          "extra": {
            "addon_id": "jid1-MnnxcxisBPnSXQ@jetpack"
          },
          "name": "open_addon_in_toolbar_menu",
          "timestamp": 12821
        },
        {
          "category": "addons",
          "extra": {
            "addon_id": "{2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}"
          },
          "name": "open_addon_in_toolbar_menu",
          "timestamp": 16978
        },
        {
          "category": "addons",
          "extra": {
            "addon_id": "uBlock0@raymondhill.net"
          },
          "name": "open_addon_in_toolbar_menu",
          "timestamp": 22271
        }
]

✔️ Metrics : All Add-ons are Installed and Enabled - Ping c279b3bf-e900-4aeb-9b67-0395ef539bed

"metrics": {
        "boolean": {
          "addons.has_enabled_addons": true,
          "addons.has_installed_addons": true
"string_list": {
          "addons.enabled_addons": [
            "uBlock0@raymondhill.net",
            "https-everywhere@eff.org",
            "addon@darkreader.org",
            "{73a6fe31-595d-460b-a920-fcc0f8843232}",
            "jid1-MnnxcxisBPnSXQ@jetpack",
            "{2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}"
          ],
          "addons.installed_addons": [
            "uBlock0@raymondhill.net",
            "https-everywhere@eff.org",
            "addon@darkreader.org",
            "{73a6fe31-595d-460b-a920-fcc0f8843232}",
            "jid1-MnnxcxisBPnSXQ@jetpack",
            "{2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}"
]

✔️ Metrics : All Add-ons are Installed - Ping d83d7083-b0e5-4dcb-bffc-05045ef962c6
Enabled:
• Dark Reader
• HTTPS Everywhere
• Privacy Badger

Disabled:
• uBlock
• No Script
• Search by image

"metrics": {
        "boolean": {
          "addons.has_enabled_addons": true,
          "addons.has_installed_addons": true
"string_list": {
          "addons.enabled_addons": [
            "https-everywhere@eff.org",
            "addon@darkreader.org",
            "jid1-MnnxcxisBPnSXQ@jetpack"
          ],
          "addons.installed_addons": [
            "uBlock0@raymondhill.net",
            "https-everywhere@eff.org",
            "addon@darkreader.org",
            "{73a6fe31-595d-460b-a920-fcc0f8843232}",
            "jid1-MnnxcxisBPnSXQ@jetpack",
            "{2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}"
]

✔️ Metrics : All Add-ons are Installed - Ping f6d03160-b44a-4667-92d3-36b70803cdcc
Enabled:
• uBlock
• No Script
• Search by image

Disabled:
• Dark Reader
• HTTPS Everywhere
• Privacy Badger

"metrics": {
        "boolean": {
          "addons.has_enabled_addons": true,
          "addons.has_installed_addons": true
"string_list": {
          "addons.enabled_addons": [
            "uBlock0@raymondhill.net",
            "{73a6fe31-595d-460b-a920-fcc0f8843232}",
            "{2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}"
          ],
          "addons.installed_addons": [
            "uBlock0@raymondhill.net",
            "https-everywhere@eff.org",
            "addon@darkreader.org",
            "{73a6fe31-595d-460b-a920-fcc0f8843232}",
            "jid1-MnnxcxisBPnSXQ@jetpack",
            "{2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}"
          ]

✔️ Metrics : All Add-ons are Uninstalled - Ping 6eaa68d9-f2c6-49a1-b034-9ce85b040ee4

 "metrics": {
        "boolean": {
          "addons.has_enabled_addons": false,
          "addons.has_installed_addons": false
"string_list": {
          "addons.enabled_addons": [],
          "addons.installed_addons": []

Logcat
Glean dashboard

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
E1 Estimation Point: trivial, less than half day eng:qa:verified QA Verified Feature:Telemetry Feature:WebExtensions
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

8 participants