Collect component updater API metrics |
|||||||||||||
Issue descriptionAs 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.
,
Mar 7 2018
,
Mar 7 2018
,
Mar 7 2018
,
Mar 7 2018
,
Mar 7 2018
Can you please take a look?
,
Mar 7 2018
FWIW install result should already be returned via the Omaha pings.
,
Mar 7 2018
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.
,
Mar 7 2018
> 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)?
,
Mar 7 2018
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.
,
Mar 7 2018
,
Mar 8 2018
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.
,
Mar 12 2018
,
Mar 12 2018
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?
,
Mar 14 2018
,
Mar 14 2018
CL (WIP) is here: https://chromium-review.googlesource.com/c/chromium/src/+/963182
,
Mar 15 2018
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.)
,
Mar 15 2018
Thanks!
,
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
,
Apr 23 2018
|
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by xiaochu@chromium.org
, Mar 7 2018