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

Issue 793052 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Collect component updater API metrics

Project Member Reported by xiaochu@chromium.org, Dec 7 2017

Issue description

As we have more component API usage, we start to log component updater API failures to understand better how to improve component updater.

Goal:
1. understand what goes well and not well in component updater API (for chrome os) - drive actionable items to improve.
2. understand per-component usage.

Existing metrics:
1. Component updater already reports component usage UMA metrics - ComponentMetricsProvider. This helps us know what components are installed.
2. ComponentUpdater.* , UpdateEngine.*, Installer.* and UpdateClient.* are tracking fine-grained low-level chrome component updater failures. 
3. Component specific metrics (DownloadableString, VR, etc.) exist and are added by component developers.

Proposal:
New metric - ComponentUpdater.CROS.Result: track the chrome os installer result (error code, etc.).
New metric - ComponentUpdater.CROS.MountTime: track time to mount a component image.
 
Labels: Restrict-View-Google
Description: Show this description
Description: Show this description
Description: Show this description
Description: Show this description
Cc: waff...@chromium.org ahass...@chromium.org adlr@chromium.org norvez@chromium.org
Can you please take a look?
FWIW install result should already be returned via the Omaha pings.
Do these metrics have submetrics too? I think there are a lot of things that can be added. Lookup the UpdateEngine uma metrics in UMA stats. There are a ton of similar things that we can used in component updater.
Maybe write a design doc for it? This one is an example:

https://docs.google.com/document/d/1Ndi0GdvnByfPmlwNgqMHfgVr0CjCg5XvU8w1fvri8f8/edit#heading=h.xgjl2srtytjt

Also I think any UMA metrics added should go pass the privacy groups and stuff.
> New metric - ComponentUpdater.CROS.Time: track time to install and load a component on chrome os.
Different components can have different times.

What is the difference from ComponentUpdater.UpdateCompleteTime?

How about one for the payload sizes?
How about one for type of payload (full vs delta)?
We already have all this data in Omaha metrics. We should only add additional UMA metrics if there is a need to cross-cut the data in UMA supported dimensions that Omaha doesn't have to minimize joining risks.

Agree w.r.t. privacy.
Description: Show this description
re #7, Thanks! The install result we most desire to report is CrOSComponentManager::Error. It is error code extension to existing component updater error code. It covers the mounting, compatibility check, etc. 

re #8,#9, Thanks for the doc! These do not have any sub-metrics. If Omaha can collect these metrics, we should keep it that way. 

re #8,#10 I will ask TPM for helping get a proper privacy review.

In the Amin's linked doc, I found these sentences:

"We currently have only two metrics for AU-related functionality in UMA. One is the time taken for AU to complete, the other is the error code from AU. We need a lot more metrics to help guide our decisions and prioritize our features moving forward. "

But if anyone has strong desire to add certain metrics that makes sense, let's do that.
Cc: keta...@chromium.org

Comment 14 by ketakid@google.com, Mar 12 2018

Cc: tnagel@chromium.org
tnagel@ can you please comment on the two metrics that we are adding to UMA from a privacy perspective? Do you have any concerns/questions around those?
Description: Show this description
Labels: Review-Privacy LaunchIssue-NA
CL (WIP) is here: https://chromium-review.googlesource.com/c/chromium/src/+/963182


Adding UMA typically does not require a dedicated privacy review, the UMA team takes care of this as part of code review. Nevertheless, the CL sgtm. (I don't see anything confidential on this bug, therefore I'd suggest to remove RVG.)
Labels: -Restrict-View-Google -Review-Privacy
Thanks!
Project Member

Comment 19 by bugdroid1@chromium.org, Apr 5 2018

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

commit 6f6e2a847adc6c32598f43eb1617110e3c23f705
Author: Xiaochu Liu <xiaochu@chromium.org>
Date: Thu Apr 05 17:54:13 2018

component updater: report error code and mount time to UMA

New metric - ComponentUpdater.CROS.Result: track the chrome os installer result (error code, etc.).
New metric - ComponentUpdater.CROS.MountTime: track time to mount a component image.

BUG= chromium:793052 
TEST=platform_AddPrinter.epson

Change-Id: I502e1983adcacb488877e83723cc91b6ee504312
Reviewed-on: https://chromium-review.googlesource.com/963182
Commit-Queue: Xiaochu Liu <xiaochu@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548480}
[modify] https://crrev.com/6f6e2a847adc6c32598f43eb1617110e3c23f705/chrome/browser/chromeos/dbus/chrome_component_updater_service_provider_delegate.cc
[modify] https://crrev.com/6f6e2a847adc6c32598f43eb1617110e3c23f705/chrome/browser/component_updater/cros_component_installer.cc
[modify] https://crrev.com/6f6e2a847adc6c32598f43eb1617110e3c23f705/chrome/browser/component_updater/cros_component_installer.h
[modify] https://crrev.com/6f6e2a847adc6c32598f43eb1617110e3c23f705/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/6f6e2a847adc6c32598f43eb1617110e3c23f705/tools/metrics/histograms/histograms.xml

Status: Fixed (was: Untriaged)

Sign in to add a comment