New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 807663 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

UKM reports should include hardware class in system profile metrics

Project Member Reported by michae...@chromium.org, Jan 31 2018

Issue description

UKM reports have a |system_profile| field that is not populated. For Chrome OS, this would include valuable information about the device.

UMA reports include a SystemProfileProto via ChromeUserMetricsExtension, so this data is populated for UMA reports, but not UKM reports.

This information can be provided by registering those MetricsProviders that override ProvideSystemProfileMetrics on the UKM service, namely ChromeOsMetricsProvider, ScreenInfoMetricsProvider, ExtensionsMetricsProvider, PluginMetricsProvider, etc.

https://cs.chromium.org/chromium/src/third_party/metrics_proto/system_profile.proto?type=cs&sq=package:chromium
 
Owner: skare@chromium.org
Status: Assigned (was: Untriaged)
Travis, could your team follow up with Privacy about the metrics we want to add to UKM reports?

The specific fields (messages) we're most interested in:

- hardware (Hardware)
- extension_install (ExtensionInstallProto)
Friendly ping.

Comment 3 by skare@chromium.org, Mar 6 2018

Status: Started (was: Assigned)
(accepting - filtered feb 11 update, sorry)
Owner: asvitk...@chromium.org
Grabbing as skare@ is moving teams.

I think it should be reasonable to add those. For hardware, could you clarify which fields you're most interested in (besides hardware_class which is probably the most interesting one)?
I think these are the important ones. Jia, are there more that we want?

* system_ram_mb
* hardware_class
* screen_count
* primary_screen_width
* primary_screen_height
* primary_screen_scale_factor
* internal_display_supports_touch
* system_ram_mb

This should already be getting recorded:
https://cs.chromium.org/chromium/src/components/metrics/metrics_log.cc?rcl=ba0d17f7b580a3663c8722a6304748eb99e5905a&l=164

* hardware_class

This does not get recorded currently, due to CrOS using a different code path that is not used under UKM:
https://cs.chromium.org/chromium/src/chrome/browser/metrics/chromeos_metrics_provider.cc?rcl=ba0d17f7b580a3663c8722a6304748eb99e5905a&l=193

* screen_count
* primary_screen_width
* primary_screen_height
* primary_screen_scale_factor

Need to hook up ScreenInfoMetricsProvider() for this.

* internal_display_supports_touch

This is done by ChromeOSMetricsProvider().
Note: We can't use ChromeOSMetricsProvider() as-is because it modifies state outside the object when used. In particular, it clears some counts in prefs when they're reported.

My suggestion is to move the hardware class for CrOS to the core logic and internal_display stuff to the ScreenInfoMetricsProvider().
Hi asvitkine, is this being worked on for M67 or M68?
Hello, 

Could someone please give use an ETA on these metrics? We're waiting for hardware_class in M67 for our project.

Thanks!
Jia
Labels: M-67
Let me try to get this in before M67 branch.
Owner: bcwh...@chromium.org
I don't think this should be a problem for us to include with UKM reports. We can double check with privacy. Sorry for delay on this.

Brian do you have cycles for this for m67?
Owner: asvitk...@chromium.org
I've already been doing work in this area, so happy to carry this forward. Assigning back to myself.
Project Member

Comment 13 by bugdroid1@chromium.org, Apr 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c063c43422b559af629322ba578cd9e71a6eda14

commit c063c43422b559af629322ba578cd9e71a6eda14
Author: Alexei Svitkine <asvitkine@chromium.org>
Date: Mon Apr 09 20:57:23 2018

Report Chrome OS system profile metrics to UKM.

Specifically, this includes metrics reported by ChromeOSMetricsProvider
in the system profile for UKM. The following fields will now be included:
- hardware.hardware_class
- hardware.internal_display_supports_touch
- hardware.bluetooth (and all the sub-fields)
- multi_profile_user_count

A note on the implementation: This reports the new short hardware class
field that is now reported to UMA (as of M67), as enabled by the kUmaShortHWClass
feature. This CL also improves this logic (both for UMA and UKM) by doing it
synchronously which is possible with the new implementation. The bluetooth data
is still retrieve asynchronously however - which is new for UKM service.

In addition, this CL fixes MetricsProvider initialization order in UkmService,
where previously the Init() call on providers was happening before providers were
added. This was not a problem before because the existing providers did not do
anything in Init().

This change also improe

Bug:  807663 , 810872
Change-Id: I4b0dcb848e40a467a26feaf757f43aaf442be050
Reviewed-on: https://chromium-review.googlesource.com/996175
Commit-Queue: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549271}
[modify] https://crrev.com/c063c43422b559af629322ba578cd9e71a6eda14/chrome/browser/metrics/chrome_metrics_service_client.cc
[modify] https://crrev.com/c063c43422b559af629322ba578cd9e71a6eda14/chrome/browser/metrics/chromeos_metrics_provider.cc
[modify] https://crrev.com/c063c43422b559af629322ba578cd9e71a6eda14/chrome/browser/metrics/ukm_browsertest.cc
[modify] https://crrev.com/c063c43422b559af629322ba578cd9e71a6eda14/components/ukm/ukm_service.cc

Summary: UKM reports should include hardware class in system profile metrics (was: UKM reports should include system profile metrics)
Status: Fixed (was: Started)
Marking as Fixed for M67 and retitling to specifically mention hardware class. Please file bugs if other fields are desired.

I'll verify the data once this reaches users.

Sign in to add a comment