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

For #8125 - Send top sites count with metrics ping #9556

Merged
merged 1 commit into from
Apr 1, 2020

Conversation

ekager
Copy link
Contributor

@ekager ekager commented Mar 31, 2020

Pull Request checklist

  • Tests: This PR includes thorough tests or an explanation of why it does not
  • Screenshots: This PR includes screenshots or GIFs of the changes made or an explanation of why it does not
  • Accessibility: The code in this PR follows accessibility best practices or does not include any user facing features. In addition, it includes a screenshot of a successful accessibility scan to ensure no new defects are added to the product.

After merge

  • Milestone: Make sure issues finished by this pull request are added to the milestone of the version currently in development.

To download an APK when reviewing a PR:

  1. click on Show All Checks,
  2. click Details next to "Taskcluster (pull_request)" after it appears and then finishes with a green checkmark,
  3. click on the "Fenix - assemble" task, then click "Run Artifacts".
  4. the APK links should be on the left side of the screen, named for each CPU architecture

@ekager ekager requested a review from boek March 31, 2020 18:28
@ekager ekager added the needs:data-review PR is awaiting a data review label Mar 31, 2020
app/metrics.yaml Outdated Show resolved Hide resolved
@codecov-io
Copy link

codecov-io commented Mar 31, 2020

Codecov Report

Merging #9556 into master will decrease coverage by <.01%.
The diff coverage is 66.66%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master    #9556      +/-   ##
============================================
- Coverage     19.41%   19.41%   -0.01%     
  Complexity      519      519              
============================================
  Files           335      335              
  Lines         13451    13472      +21     
  Branches       1791     1793       +2     
============================================
+ Hits           2611     2615       +4     
- Misses        10616    10633      +17     
  Partials        224      224
Impacted Files Coverage Δ Complexity Δ
...c/main/java/org/mozilla/fenix/home/HomeFragment.kt 0% <0%> (ø) 0 <0> (ø) ⬇️
...la/fenix/components/metrics/GleanMetricsService.kt 9.22% <100%> (+0.27%) 3 <0> (ø) ⬇️
.../src/main/java/org/mozilla/fenix/utils/Settings.kt 76.1% <100%> (+0.24%) 30 <0> (ø) ⬇️
...n/java/org/mozilla/fenix/IntentReceiverActivity.kt 0% <0%> (ø) 0% <0%> (ø) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5f68d6c...79eaf41. Read the comment docs.

@ekager ekager force-pushed the 8125-top-site-count branch from da1e6e7 to 9240ccd Compare March 31, 2020 19:30
@ekager
Copy link
Contributor Author

ekager commented Mar 31, 2020

Request for data collection review form

All questions are mandatory. You must receive review from a data steward peer on your responses to these questions before shipping new data collection.

  1. What questions will you answer with this data?

Does this user have any top sites and how many do they have?

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

We've seen a correlation between startup time and the number of top sites in local testing and knowing quantities will better inform both technical and UX-based solutions.

  1. What alternative methods did you consider to answer these questions? Why were they not sufficient?

Local testing for performance, but knowing how many top sites real users have will help inform the teams for performance investigations.

  1. Can current instrumentation answer these questions?

No, top sites are a new feature.

  1. List all proposed measurements and indicate the category of data collection for each measurement, using the Firefox data collection categories found on the Mozilla wiki.

Note that the data steward reviewing your request will characterize your data collection based on the highest (and most sensitive) category.

Measurement Description Data Collection Category Tracking Bug #
top sites count Category 2 https://github.com//issues/8125
user has top sites Category 2 https://github.com//issues/8125
  1. How long will this data be collected? Choose one of the following:
    This is scoped to a time-limited experiment/project until date 09-01-2020.

  2. What populations will you measure?
    All release, beta, and nightly users with telemetry enabled.

  3. If this data collection is default on, what is the opt-out mechanism for users?
    Users can opt of of data collection by disabling Usage and technical data from Settings -> Data collection.

  4. Please provide a general description of how you will analyze this data.
    Glean / Amplitude

  5. Where do you intend to share the results of your analysis?
    Only on Glean, Amplitude and with mobile teams.

  6. Is there a third-party tool (i.e. not Telemetry) that you are proposing to use for this data collection?
    No.

@ekager ekager force-pushed the 8125-top-site-count branch from 9240ccd to 1205cdb Compare March 31, 2020 19:37
@ekager ekager force-pushed the 8125-top-site-count branch from 1205cdb to 79eaf41 Compare March 31, 2020 19:40
@ekager
Copy link
Contributor Author

ekager commented Mar 31, 2020

cc @boek this is ready for review + data review :)

Copy link
Contributor

@boek boek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Data Review Form (to be filled by Data Stewards)

  1. Is there or will there be documentation that describes the schema for the ultimate data set in a public, complete, and accurate way?
    Yes, metrics.yaml and metrics.md

  2. Is there a control mechanism that allows the user to turn the data collection on and off?
    Yes, under data controls

  3. If the request is for permanent data collection, is there someone who will monitor the data over time?
    Has expiry

  4. Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?
    Type 2

  5. Is the data collection request for default-on or default-off?
    Default on

  6. Does the instrumentation include the addition of any new identifiers (whether anonymous or otherwise; e.g., username, random IDs, etc. See the appendix for more details)?
    No

  7. Is the data collection covered by the existing Firefox privacy notice?
    Yes

  8. Does there need to be a check-in in the future to determine whether to renew the data?
    Has expiry

  9. Does the data collection use a third-party collection tool?
    no

@@ -689,6 +678,8 @@ class HomeFragment : Fragment() {
private fun subscribeToTopSites(): Observer<List<TopSite>> {
return Observer<List<TopSite>> { topSites ->
requireComponents.core.topSiteStorage.cachedTopSites = topSites
context?.settings()?.preferences?.edit()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we just use the topSitesSize intPreference that you added in Settings.kt here?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
needs:data-review PR is awaiting a data review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants