Commit Graph

113 Commits

Author SHA1 Message Date
Drew Willcoxon
b74ac28238 Bug 1741703 - Fix a broken link in the Firefox Suggest telemetry document. r=harry
The link to the toolkit telemetry doc is broken.

Depends on D131078

Differential Revision: https://phabricator.services.mozilla.com/D131423
2021-11-18 19:16:07 +00:00
Drew Willcoxon
0900dca6df Bug 1741291 - Add a doc for Firefox Suggest client telemetry with changelogs per probe. r=nanj
This pulls out the Firefox Suggest-specific telemetry from telemetry.rst into
its own doc. It also adds changelogs for each probe per Rebecca's request. I
also reworded some things and added an .rstcheck.cfg file to ignore a couple of
rstcheck (lint) warnings. See:
https://github.com/myint/rstcheck#ignore-specific-errors

Differential Revision: https://phabricator.services.mozilla.com/D131078
2021-11-17 17:23:08 +00:00
Sylvestre Ledru
812d88d7e5 Bug 1714788 - doc: do not provide the language if the code isn't valid r=firefox-source-docs-reviewers,championshuttler DONTBUILD
Otherwise, the warning is displayed:
```
WARNING: Could not lex literal_block as "json". Highlighting skipped.
```

Depends on D131092

Differential Revision: https://phabricator.services.mozilla.com/D131093
2021-11-16 07:59:48 +00:00
Drew Willcoxon
7cbdd20c67 Bug 1735976 - Update Firefox Suggest preferences: Part 4 - Migrate suggest.quicksuggest to suggest.quicksuggest.nonsponsored. r=nanj
Now that we're likely not targeting a 94 dot release anymore, I'd like to go
ahead and rename the `suggest.quicksuggest` pref to
`suggest.quicksuggest.nonsponsored` as we considered doing before. There won't
be a better time to do it.

Depends on D128665

Differential Revision: https://phabricator.services.mozilla.com/D130565
2021-11-09 17:17:11 +00:00
Drew Willcoxon
ff3dd64b3f Bug 1735976 - Update Firefox Suggest preferences: Part 3 - Add telemetry for the new data-collection pref. r=nanj
This adds telemetry for the new data-collection pref:

* Adds a `data_collect_toggled` object to the `contextservices.quicksuggest`
  telemetry event
* Adds the new pref to telemetry environment

Depends on D128661

Differential Revision: https://phabricator.services.mozilla.com/D128665
2021-11-09 17:17:11 +00:00
Drew Willcoxon
5c569d48c6 Bug 1735976 - Update Firefox Suggest preferences: Part 1 - Add a pref for data collection, decouple the two existing suggestion prefs, and rework pref and Nimbus handling. r=nanj,mak
This is a big revision that makes a lot of changes. The core change is adding a
new pref to control data collection for Firefox Suggest and making the existing
non-sponsored and sponsored prefs independent of each other. The data-collection
pref defaults to false in every scenario; in online, the user is opted in to it
when they opt in to the modal, and in both online and offline the user will be
able to enable it in the preferences UI (part 2 of this bug, see below).

A new requirement for this bug that came up after I wrote my original patch in
D128579 is that we want the ability to enable Merino via an experiment, which
requires the data-collection pref to be true. That's tricky because data
collection will be exposed in the preferences UI. If the user disables it, we
don't want to override that. There's a distinction to draw between its being
disabled/enabled by default and its being disabled/enabled by the user. It's OK
to override the default but not the user's choice, and that's true not only for
this new data-collection pref but for all prefs exposed in the UI.

We can handle that by taking care to set prefs on the default and user branches
as appropriate. If a pref exposed in the UI has a value on the user branch, then
we can assume the user modified it, and ideally that value should stick around
indefinitely. On the other hand we can set default values as configured by
Nimbus on the default branch. If the user modified a pref, then it'll take
precedence since it's on the user branch.

To make user-modified preferences stick around indefinitely, I made them sticky
in firefox.js. That way even when user values are the same as default values,
the user-branch values will be preserved, which is not true of non-sticky prefs.

I added a new Nimbus variable for data collection, so we can use that to enable
it by default. It was trivial to add similar variables for the other UI-exposed
prefs, the two suggestions types, so I did that too.

This is all tested pretty thoroughly in browser_quicksuggest_configuration.js.

This is only part 1 of 4. Part 2 updates the prefs UI, part 3 adds telemetry for
the new data-collection pref (event telemetry when it's toggled, similar to the
existing prefs, and telemetry environment), and part 4 changes the name of
`browser.urlbar.suggest.quicksuggest` to
`browser.urlbar.suggest.quicksuggest.nonsponsored`.

For review, I'd suggest looking at parts in the following order:

1. UrlbarPrefs.jsm, browser_quicksuggest_configuration.js, and
   test_quicksuggest_migrate.js.

   The core changes are in UrlbarPrefs.jsm. The two test files document the
   expected behavior of different scenarios/enrollments and prefs migrations.

   browser_quicksuggest_configuration.js tests different enrollments and the
   prefs stuff I mentioned above.

   test_quicksuggest_migrate.js tests prefs migrations. I added a migration step
   that's run on startup when the scenario is updated. There are two things we
   need to do: decouple the existing `suggest.quicksuggest` prefs and initialize
   the new data-collection pref. (For brevity I'll omit the `browser.urlbar`
   prefix to all these pref names in this commit message.)

   The `suggest.quicksuggest` pref now controls non-sponsored suggestions, and
   the `suggest.quicksuggest.sponsored` now controls sponsored suggestions
   independent of the other pref. The new data pref is
   `quicksuggest.dataCollection.enabled`.

   For the current online rollout on 92.0.1, we don't record the user's choice
   to the opt-in modal, so the initial value of the data pref for existing users
   is debatable. I Slacked with Natalie about it, and we think it's OK to
   initialize it to allow data collection as long as the main
   `suggest.quicksuggest` pref is true. The user may not have opted in to the
   modal in that case, but if not, they enabled suggestions in
   about:preferences, where we show a description under the main Firefox Suggest
   checkbox about data sharing.

   For new profiles (i.e., profiles that are created in versions of Firefox
   where this revision has landed), the migration step runs but is effectively a
   no-op.

2. UrlbarProviderQuickSuggest.jsm and UrlbarProviderQuickSuggest.jsm. The
   changes here are again related to decoupling the `suggest.quicksuggest` prefs
   and checking the data pref before recording data in telemetry and fetching
   from Merino.

3. All the other tests. I ended up adding some checks to a lot of them and
   simplifying some, especially browser_urlbar_telemetry_quicksuggest.js.

Depends on D130531

Differential Revision: https://phabricator.services.mozilla.com/D129224
2021-11-09 17:17:10 +00:00
Drew Willcoxon
1e290a646d Bug 1737923 - Add a telemetry histogram for recording Merino response categories. r=nanj
This adds a new categorical histogram called `FX_URLBAR_MERINO_RESPONSE`. There
are four categories per the discussion in the bug:

0: success
1: timeout
2: network_error
3: http_error

Only one value is recorded per fetch, so for example if Merino times out but
then later finishes successfully, we only record the timeout.

Depends on D129772

Differential Revision: https://phabricator.services.mozilla.com/D130530
2021-11-08 19:46:56 +00:00
Nan Jiang
5036df41c7 Bug 1736117 - Include Merino request_id in Firefox Suggest telemetry if available r=adw
Differential Revision: https://phabricator.services.mozilla.com/D128970
2021-11-05 20:01:13 +00:00
Marian-Vasile Laza
aee44d1538 Backed out changeset 397f23e1d806 (bug 1736117) for causing xpcshell failures on test_quicksuggest.js. CLOSED TREE 2021-11-05 21:23:11 +02:00
Nan Jiang
b72ec69dd8 Bug 1736117 - Include Merino request_id in Firefox Suggest telemetry if available r=adw
Differential Revision: https://phabricator.services.mozilla.com/D128970
2021-11-05 18:36:04 +00:00
Nan Jiang
3f017410e0 Bug 1737137 - Add data collection document for Merino r=adw DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D129200
2021-11-02 21:51:58 +00:00
Leslie Orellana
a189a5554e Bug 1715822 - Rename references from resultBuckets to resultGroups. r=harry
Differential Revision: https://phabricator.services.mozilla.com/D128340
2021-10-14 13:23:54 +00:00
Drew Willcoxon
1914a56117 Bug 1734447 - Record in telemetry environment the user's choice in the Firefox Suggest online opt-in onboarding dialog/modal. r=chutten,dao
Differential Revision: https://phabricator.services.mozilla.com/D127700
2021-10-07 17:02:08 +00:00
Drew Willcoxon
d72b6e80fa Bug 1733687 - Store in a pref the user's response to the Firefox Suggest onboarding dialog and add two new telemetry event objects. r=dao,mythmon
This does a couple of things:

* Instead of using the `not_now` telemetry event object for the cases where the
  dialog is closed by the Escape key or some other atypical way, reserve
  `not_now` -- renamed `not_now_link` -- specifically for clicks on the "Not
  now" link and add two new objects: `dismissed_escape_key` and
  `dismissed_other`. That should give us a little better understanding of how
  the dialog is being dismissed. The new `not_now_link` name is to avoid
  conflation with the previous meaning of `not_now`.
* Add a new `browser.urlbar.quicksuggest.onboardingDialogChoice` pref that
  stores exactly the same values as the telemetry event. e.g., if the dialog is
  accepted, then we'll record a telemetry event whose object is `accept` and
  we'll also store `accept` in the pref.

I figure if we decide to show the onboarding again for people who have already
seen it, (1) we'll use this pref to decide the flow for any given user, and (2)
we'll need to add another pref for the user's response to the "v2" dialog, or
maybe we could morph this one into an array of responses or something more
complex like that.

Differential Revision: https://phabricator.services.mozilla.com/D127354
2021-10-07 17:02:07 +00:00
Dão Gottwald
966d7ef125 Bug 1723860 - Add event telemetry for Firefox Suggest onboarding modal prompt. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D125244
2021-09-11 11:00:58 +00:00
Nan Jiang
28c66e9939 Bug 1729576 - Add various telemetry changes for Firefox Suggest r=adw
* Add 'scenario' to impression and click pings
* Only send 'search_query' and 'matched_keywords' for 'online' scenario

Differential Revision: https://phabricator.services.mozilla.com/D124943
2021-09-08 21:22:32 +00:00
Alexandru Michis
09c630292c Backed out changeset 2bc69d6f8a0c (bug 1729576) for causing crashes in browser_urlbar_telemetry_quicksuggest.js
CLOSED TREE
2021-09-08 23:34:10 +03:00
Nan Jiang
b939b22e8c Bug 1729576 - Add various telemetry changes for Firefox Suggest r=adw
* Add 'scenario' to impression and click pings
* Only send 'search_query' and 'matched_keywords' for 'online' scenario

Differential Revision: https://phabricator.services.mozilla.com/D124943
2021-09-08 19:29:41 +00:00
Drew Willcoxon
c7fb8585c9 Bug 1728430 - Part 1: Add a separate pref for sponsored Firefox Suggest results. r=mak
The Jira ticket (link in the bug) calls for two separate checkboxes for Firefox
Suggest results: a main checkbox plus a sponsored-suggestions checkbox. The
sponsored-suggestions checkbox is subordinate to the main checkbox, i.e., the
main checkbox has to be checked to turn on sponsored suggestions. This will
allow users to toggle sponsored suggestions separately from non-sponsored
suggestions. It's a change from the current situation where we have only one
pref and checkbox that control both sponsored and non-sponsored suggestions.

So part 1 of fixing this bug is to add a new pref for sponsored suggestions.
This revision keeps the current `suggest.quicksuggest` pref as the main pref and
adds a new `suggest.quicksuggest.sponsored` pref. I confirmed with Natalie that
we want to enable both prefs when the user opts in through the onboarding
dialog.

We currently record a telemetry event when `suggest.quicksuggest` is toggled. We
also want a similar event for the new pref, so this adds one.

The pref situation for Firefox Suggest is confusing but in summary:

* `browser.urlbar.quicksuggest.enabled`: The global toggle for the entire
  Firefox Suggest rollout involving sponsored and non-sponsored suggestions, the
  related telemetry and preferences UI, etc. This pref can be overridden by the
  `quickSuggestEnabled` Nimbus variable. If false, neither sponsored nor
  non-sponsored suggestions will be shown. If true, then we look at the
  individual `suggest.quicksuggest` and `suggest.quicksuggest.sponsored` prefs.
* `browser.urlbar.suggest.quicksuggest`: Whether any Firefox Suggest results are
  shown. This must be true to show both non-sponsored and sponsored results.
* `browser.urlbar.suggest.quicksuggest.sponsored`: Whether sponsored Firefox
  Suggest results are shown. Both this pref and `suggest.quicksuggest` must be
  true to show sponsored results.

Differential Revision: https://phabricator.services.mozilla.com/D124300
2021-09-06 18:56:10 +00:00
Drew Willcoxon
e6551e78d3 Bug 1727799 - Add telemetry probe to measure Merino latency. r=mythmon,mak
This uses `TelemetryStopwatch` to record the time between the `fetch` start and
its resolve. The new histogram is `FX_URLBAR_MERINO_LATENCY_MS`.

Depends on D124132

Differential Revision: https://phabricator.services.mozilla.com/D123993
2021-09-01 16:03:51 +00:00
Drew Willcoxon
29ba44c859 Bug 1727668 - Integrate Merino with Firefox Suggest/quick suggest. r=mak,nanj
This integrates a fetch to Merino in UrlbarProviderQuickSuggest. We continue to
do the remote settings fetch too. Per the Jira ticket, we should prefer the
Merino suggestion when both sources return one.

Each fetch is controlled by a new pref and Nimbus variable, so we can enable
them independently.

At first I started making a UrlbarProviderMerino class, but it's better to
modify UrlbarProviderQuickSuggest because everything besides the fetch source is
the same: We want to collect the same telemetry, have the same results and
payloads, etc.

Depends on D123852

Differential Revision: https://phabricator.services.mozilla.com/D123707
2021-08-30 22:48:12 +00:00
Marco Bonardo
aeaa047863 Bug 1715529 - Document urlbar and search preferences in tree documentation. r=daisuke
Differential Revision: https://phabricator.services.mozilla.com/D123501
2021-08-26 09:31:25 +00:00
Drew Willcoxon
364162f4bf Bug 1710518 - Introduce group-relative suggestedIndex and modify quick suggest results to use it. r=harry
This introduces a new `result.isSuggestedIndexRelativeToGroup` property. When
true, `result.suggestedIndex` is relative to the result's group.

We can get rid of some hardcoded quick-suggest things with this.

I considered a `relativeSuggestedIndex` property that would replace
`suggestedIndex`, but it would have made `muxer._addSuggestedIndexResults` a
little more complex because it would need to know whether it should use
`relativeSuggestedIndex` or `suggestedIndex`. `UrlbarView._rowCanUpdateToResult`
would also need to be updated since it checks for suggestedIndex results. But
there are trade-offs either way and I'm open to using `relativeSuggestedIndex`.

While working on this I noticed that we broke the position of quick suggest
results in bug 1662167. They're supposed to be last in the outer general group,
and currently the muxer is hardcoded to put them last in `GENERAL`, but after
that bug `INPUT_HISTORY` actually comes last. To fix that I added a new
`GENERAL_PARENT` group that's used for the outer general group. Quick suggest
results now use this group, combined with a relative `suggestedIndex`, to come
last. I wanted to rename `GENERAL` to `PLACES` or `BOOKMARKS_HISTORY` and use
`GENERAL` for the outer group, but we use `GENERAL` in a ton of places (tests
especially) and I didn't want to touch blame for it all. I'm open to better
names than `GENERAL_PARENT`. I considered `FIREFOX_SUGGEST` but I don't think
it's a good idea to tie it to specific branding that may change.

Differential Revision: https://phabricator.services.mozilla.com/D122799
2021-08-19 00:04:08 +00:00
Harry Twyford
58cf2e7f96 Bug 1713827 - Hand off to search mode if searching is disabled in the Urlbar. r=amy,Standard8,flod
This patch also addresses bug 1645293. It essentially reverts parts 1 and 3 of bug 1616700 for users with searching disabled. Since we had to introduce branching behaviour, there are some new constructs like a shouldHandOffToSearchMode multi-pref in UrlbarPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D118606
2021-07-22 15:46:30 +00:00
Cosmin Sabou
b7f0575fc4 Backed out changeset 5a673b05aea0 (bug 1713827) for bc failures on browser_contentSearchUI_default.js. CLOSED TREE 2021-07-21 01:06:27 +03:00
Harry Twyford
107a1e3766 Bug 1713827 - Hand off to search mode if searching is disabled in the Urlbar. r=amy,Standard8,flod
This patch also addresses bug 1645293. It essentially reverts parts 1 and 3 of bug 1616700 for users with searching disabled. Since we had to introduce branching behaviour, there are some new constructs like a shouldHandOffToSearchMode multi-pref in UrlbarPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D118606
2021-07-20 21:25:10 +00:00
Harry Twyford
079579c0fb Bug 1717509 - Part 5 - Replace references to UnifiedComplete with references to UrlbarProviderPlaces. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D119310
2021-07-09 23:52:39 +00:00
Drew Willcoxon
266d03c5de Bug 1714418 - Fix broken Architecture Overview link in urlbar doc index.rst. r=harry
This fixes it locally for me. Apparently `:ref:` links to the first matching
global label, which in this case is an unrelated "Architecture overview" label
in a devtools doc. Instead we can use `:doc:` to link to another doc in the same
directory. We only need to specify the doc file's basename and Sphinx
automatically includes the doc's title in the final HTML.

See: https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-doc

Differential Revision: https://phabricator.services.mozilla.com/D116761
2021-06-03 19:50:21 +00:00
Drew Willcoxon
1d7480998c Bug 1712408 - Move results composition doc into mozilla-central address bar docs. r=harry
This is a straight port of the [Google doc](https://docs.google.com/document/d/1NQtokvmDaBnMhaAzLBYEo8Mk9SmVmksrBkwH-XB4rsk/edit#).

I took new screenshots @2x, used "address bar" instead of "urlbar" since that's
what our docs use, and tweaked some things here and there, but nothing major.

It will probably be a pain to keep this updated, but so it goes for docs.

Differential Revision: https://phabricator.services.mozilla.com/D115975
2021-05-29 00:52:06 +00:00
Drew Willcoxon
36ed201877 Bug 1699227 - Support negative suggestedIndex values to allow indexes to be specified from the end of the list of urlbar results. r=mak
Given the result span problem described in bug 1699211 and bug 1699607,
currently there's no way for quick suggest to accurately specify the last index
as its suggested index.

Differential Revision: https://phabricator.services.mozilla.com/D109571
2021-03-25 20:32:52 +00:00
Harry Twyford
3d581840b3 Bug 1616700 - Part 1 - Use default address bar search mode for new tab search handoff r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D108825
2021-03-23 22:56:54 +00:00
Alexandru Michis
7472bfb633 Backed out 3 changesets (bug 1616700) for causing failures in browser_privatebrowsing_about.js
Backed out changeset 5e1b8f75fef5 (bug 1616700)
Backed out changeset fdf97a561019 (bug 1616700)
Backed out changeset de3717cc63ef (bug 1616700)
2021-03-20 01:23:39 +02:00
Harry Twyford
3108d69a6b Bug 1616700 - Part 1 - Use default address bar search mode for new tab search handoff r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D108825
2021-03-19 21:31:12 +00:00
Mark Banner
da55ee7dca Bug 1698847 - Move remaining search telemetry documentation from address bar to search. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D108649
2021-03-18 21:27:30 +00:00
Dale Harvey
483fa9b0fe Bug 1697003 - Update strings for Firefox Suggest experiment r=adw
Differential Revision: https://phabricator.services.mozilla.com/D107525
2021-03-09 12:59:03 +00:00
Nan Jiang
df77370348 Bug 1689365 - Add custom impression and click for QuickSuggest r=adw,daleharvey
Differential Revision: https://phabricator.services.mozilla.com/D106490
2021-02-25 22:17:12 +00:00
Michelle Goossens
0c10414bc9 Bug 1692672 - Re-label "Paste & Go" to "Paste and Go" r=emalysz,flod
Differential Revision: https://phabricator.services.mozilla.com/D106499
2021-02-25 17:28:33 +00:00
Drew Willcoxon
55c443cf32 Bug 1693126 - Add telemetry for when users disable Quick Suggest. r=harry,nanj
This adds event telemetry that's recorded when the
`browser.urlbar.suggest.quicksuggest` pref is toggled. This pref corresponds to
the checkbox in about:preferences#search labeled "Show suggested and sponsored
results in the address bar".

I used `contextservices.quicksuggest` as the event telemetry category name to be
similar to the `contextual.services.quicksuggest.*` scalars. Event names are
limited to 30 chars, so it couldn't be exactly the same.

This is based on my earlier revision for scalar telemetry in D106173.

Depends on D106173

Differential Revision: https://phabricator.services.mozilla.com/D106248
2021-02-25 06:21:32 +00:00
Drew Willcoxon
1a2e2be9d8 Bug 1693927 - Record keyed scalar telemetry for impressions and clicks on Quick Suggest results. r=harry,nanj
This adds three new keyed scalars:

* `contextual.services.quicksuggest.impression`: Incremented when a Quick
  Suggest result is shown in an address bar engagement where the user picks any
  result.
* `contextual.services.quicksuggest.click`: Incremented when the user picks a
  Quick Suggest result (not including the help button).
* `contextual.services.quicksuggest.help``: Incremented when the user picks the
  onboarding help button in a Quick Suggest result.

The changes to telemetry.rst and Scalars.yaml have more details.

I modified `TelemetryEvent.typeFromElement()` to return `"help"` for clicks on
the help button so that the quick suggest provider can tell whether the main
part of the result was picked or the help button. I left `"tiphelp"` for tip
help buttons in case anything depends on that.

Depends on D106060

Differential Revision: https://phabricator.services.mozilla.com/D106173
2021-02-25 06:21:30 +00:00
Csoregi Natalia
d96bc26433 Backed out 2 changesets (bug 1693927, bug 1693126) as requested. CLOSED TREE
Backed out changeset f49147a4544b (bug 1693126)
Backed out changeset 8bb5bc9c97b2 (bug 1693927)
2021-02-25 05:08:26 +02:00
Drew Willcoxon
246ffe7570 Bug 1693126 - Add telemetry for when users disable Quick Suggest. r=harry,nanj
This adds event telemetry that's recorded when the
`browser.urlbar.suggest.quicksuggest` pref is toggled. This pref corresponds to
the checkbox in about:preferences#search labeled "Show suggested and sponsored
results in the address bar".

I used `contextservices.quicksuggest` as the event telemetry category name to be
similar to the `contextual.services.quicksuggest.*` scalars. Event names are
limited to 30 chars, so it couldn't be exactly the same.

This is based on my earlier revision for scalar telemetry in D106173.

Depends on D106173

Differential Revision: https://phabricator.services.mozilla.com/D106248
2021-02-25 02:52:04 +00:00
Drew Willcoxon
bd84faad96 Bug 1693927 - Record keyed scalar telemetry for impressions and clicks on Quick Suggest results. r=harry,nanj
This adds three new keyed scalars:

* `contextual.services.quicksuggest.impression`: Incremented when a Quick
  Suggest result is shown in an address bar engagement where the user picks any
  result.
* `contextual.services.quicksuggest.click`: Incremented when the user picks a
  Quick Suggest result (not including the help button).
* `contextual.services.quicksuggest.help``: Incremented when the user picks the
  onboarding help button in a Quick Suggest result.

The changes to telemetry.rst and Scalars.yaml have more details.

I modified `TelemetryEvent.typeFromElement()` to return `"help"` for clicks on
the help button so that the quick suggest provider can tell whether the main
part of the result was picked or the help button. I left `"tiphelp"` for tip
help buttons in case anything depends on that.

Depends on D106060

Differential Revision: https://phabricator.services.mozilla.com/D106173
2021-02-25 02:52:04 +00:00
Csoregi Natalia
724115d88a Backed out 2 changesets (bug 1693927, bug 1693126) for failures on browser_urlbar_telemetry_quicksuggest.js. CLOSED TREE
Backed out changeset 681c90aa832e (bug 1693126)
Backed out changeset 7525ec04b82a (bug 1693927)
2021-02-24 22:00:43 +02:00
Drew Willcoxon
fce9bb83ea Bug 1693126 - Add telemetry for when users disable Quick Suggest. r=harry,nanj
This adds event telemetry that's recorded when the
`browser.urlbar.suggest.quicksuggest` pref is toggled. This pref corresponds to
the checkbox in about:preferences#search labeled "Show suggested and sponsored
results in the address bar".

I used `contextservices.quicksuggest` as the event telemetry category name to be
similar to the `contextual.services.quicksuggest.*` scalars. Event names are
limited to 30 chars, so it couldn't be exactly the same.

This is based on my earlier revision for scalar telemetry in D106173.

Depends on D106173

Differential Revision: https://phabricator.services.mozilla.com/D106248
2021-02-24 19:13:50 +00:00
Drew Willcoxon
ba2cc6f08f Bug 1693927 - Record keyed scalar telemetry for impressions and clicks on Quick Suggest results. r=harry,nanj
This adds three new keyed scalars:

* `contextual.services.quicksuggest.impression`: Incremented when a Quick
  Suggest result is shown in an address bar engagement where the user picks any
  result.
* `contextual.services.quicksuggest.click`: Incremented when the user picks a
  Quick Suggest result (not including the help button).
* `contextual.services.quicksuggest.help``: Incremented when the user picks the
  onboarding help button in a Quick Suggest result.

The changes to telemetry.rst and Scalars.yaml have more details.

I modified `TelemetryEvent.typeFromElement()` to return `"help"` for clicks on
the help button so that the quick suggest provider can tell whether the main
part of the result was picked or the help button. I left `"tiphelp"` for tip
help buttons in case anything depends on that.

Depends on D106060

Differential Revision: https://phabricator.services.mozilla.com/D106173
2021-02-24 18:01:37 +00:00
Nan Jiang
fa86a20ce2 Bug 1693393 - add telemetry for sponsored TopSites in Urlbar r=dao,harry
Differential Revision: https://phabricator.services.mozilla.com/D105639
2021-02-24 16:57:27 +00:00
harry
87c149589d Bug 1685734 - Add telemetry for tab-to-search result impressions. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D103075
2021-02-04 19:53:40 +00:00
harry
a767458341 Bug 1686330 - Add telemetry for tab-to-search result impressions, per-engine. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D103074
2021-02-04 19:53:37 +00:00
Narcis Beleuzu
731564fc32 Backed out 2 changesets (bug 1686330, bug 1685734) for bc failures on browser_urlbar_telemetry_tabtosearch.js
Backed out changeset 50a8c2a5f4e8 (bug 1685734)
Backed out changeset b129d712e3bc (bug 1686330)
2021-02-01 17:52:34 +02:00
harry
68d45df6dc Bug 1685734 - Add telemetry for tab-to-search result impressions. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D103075
2021-01-28 15:44:22 +00:00