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

Telemetry for Default Search Provider #800

Closed
st3fan opened this issue Mar 2, 2019 · 8 comments
Closed

Telemetry for Default Search Provider #800

st3fan opened this issue Mar 2, 2019 · 8 comments
Assignees

Comments

@st3fan
Copy link
Contributor

st3fan commented Mar 2, 2019

Why/User Benefit/User Problem

As a Product Owner I want to have insight about what search providers people use.

What / Requirements

Specific things we capture for default search on desktop, and should for Fenix as well:

defaultSearchEngine: this should be the engine identifier (i.e. google-b-1-m vs. google-b-m)
defaultSearchEngineData.loadPath: This is the full path the engine is loaded from, typically with a prefix like [app], [profile], [other], etc.
defaultSearchEngineData.name: the display name (i.e. "Google") for the default search
defaultSearchEngineData.origin: the origin
default_search_engine_data_submission_url: the full search URL used with this setting (note that there's some privacy constraints on desktop for which URLs to record, @mkaply can provide guidance for how this works)

As an example, the desktop ping contains the following (defaultSeachEngine was added first, in a new ping I'd have them all in a single object:

  • defaultSearchEngine google-b-d
  • defaultSearchEngineData.name Google
  • defaultSearchEngineData.loadPath jar:[app]/omni.ja!/google-b-d.xml
  • defaultSearchEngineData.origin default
  • defaultSearchEngineData.submissionURL https://www.google.com/search?client=firefox-b-d&q=

Acceptance Criteria (how do I know when I’m done?)

  • 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
  • We have consulted the Search Team that this telemetry is complete

┆Issue is synchronized with this Jira Task

@st3fan st3fan added the Epic label Mar 2, 2019
@st3fan
Copy link
Contributor Author

st3fan commented Mar 2, 2019

Asking @mconnormoz for feedback on telemetry specifics.

@mconnormoz
Copy link

Specific things we capture for default search on desktop, and should for Fenix as well:

defaultSearchEngine: this should be the engine identifier (i.e. google-b-1-m vs. google-b-m)
defaultSearchEngineData.loadPath: This is the full path the engine is loaded from, typically with a prefix like [app], [profile], [other], etc.
defaultSearchEngineData.name: the display name (i.e. "Google") for the default search
defaultSearchEngineData.origin: the origin
default_search_engine_data_submission_url: the full search URL used with this setting (note that there's some privacy constraints on desktop for which URLs to record, @mkaply can provide guidance for how this works)

As an example, the desktop ping contains the following (defaultSeachEngine was added first, in a new ping I'd have them all in a single object

defaultSearchEngine google-b-d
defaultSearchEngineData.name Google
defaultSearchEngineData.loadPath jar:[app]/omni.ja!/google-b-d.xml
defaultSearchEngineData.origin default
defaultSearchEngineData.submissionURL https://www.google.com/search?client=firefox-b-d&q=

@boek
Copy link
Contributor

boek commented Mar 27, 2019

Blocked by mozilla-mobile/android-components#2533

@georgf
Copy link

georgf commented Mar 27, 2019

Specific things we capture for default search on desktop, and should for Fenix as well:

defaultSearchEngine: this should be the engine identifier (i.e. google-b-1-m vs. google-b-m)
defaultSearchEngineData.loadPath: This is the full path the engine is loaded from, typically with a prefix like [app], [profile], [other], etc.
defaultSearchEngineData.name: the display name (i.e. "Google") for the default search
defaultSearchEngineData.origin: the origin
default_search_engine_data_submission_url: the full search URL used with this setting (note that there's some privacy constraints on desktop for which URLs to record, @mkaply can provide guidance for how this works)

This seems to cover only the default search provider.
For these specific examples here, they could all be individual string metrics in Glean, collected under one category. E.g.:

search.default_engine:
  identifier:
    kind: string
    ...
  name:
    kind: string
    ...
  ... etc.

We might have to check whether the permitted length of string is sufficient (and if not, how we deal with that with allowing very long strings everywhere).

@boek boek added the 🙅 waiting Issues that are blocked or has dependencies that are not ready label Mar 27, 2019
@vesta0 vesta0 added the needs:ac Needs Android Component Work label Mar 27, 2019
@bifleming bifleming added this to Ready for QA in Fenix Sprint Kanban Mar 27, 2019
@bifleming bifleming moved this from Ready for QA to Blocked in Fenix Sprint Kanban Mar 27, 2019
@vesta0 vesta0 added P1 Current sprint and removed P1 Current sprint labels Apr 1, 2019
@boek
Copy link
Contributor

boek commented Apr 4, 2019

Hey @mconnormoz, where does defaultSearchEngineData.origin come from?

@mconnormoz
Copy link

We probably don't need origin. That comes from some anti-hijacking code on desktop that in theory tells us whether someone's modified the config out of band, but in practice hijackers are faking it. I don't think it's needed for Fenix.

@vesta0 vesta0 removed this from the Sprint 4-1 (Milestone 4) milestone Apr 10, 2019
@vesta0 vesta0 added this to the Sprint 4-2 (Milestone 4) milestone Apr 10, 2019
@boek boek removed the 🙅 waiting Issues that are blocked or has dependencies that are not ready label Apr 11, 2019
@vesta0 vesta0 moved this from Blocked to In Progress in Fenix Sprint Kanban Apr 11, 2019
@vesta0 vesta0 changed the title As a Product Owner I want to have telemetry about the Default Search Provider Telemetry for Default Search Provider Apr 11, 2019
@boek boek moved this from In Progress to Ready for QA in Fenix Sprint Kanban Apr 15, 2019
@boek boek added the eng:qa:needed QA Needed label Apr 19, 2019
@boek
Copy link
Contributor

boek commented Apr 23, 2019

I verified the data was coming with Frank

@boek boek closed this as completed Apr 23, 2019
@ghost ghost removed the P1 Current sprint label Apr 23, 2019
@boek boek reopened this Apr 23, 2019
@bsurd
Copy link

bsurd commented May 28, 2019

This has been verified by QA, the ping is sent and data is successfully logged.

@bsurd bsurd closed this as completed May 28, 2019
@bsurd bsurd added eng:qa:verified QA Verified and removed eng:qa:needed QA Needed labels May 28, 2019
@bsurd bsurd moved this from Ready for QA to Done in Fenix Sprint Kanban May 28, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

10 participants