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

Issue 799526 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 759191



Sign in to add a comment

Divorce system instability assessment and metric from Crumbs

Project Member Reported by siggi@chromium.org, Jan 5 2018

Issue description

See go/system-unclean for a metric assessing what fraction of unclean browser shutdowns are due to Windows system crashes. It looks like the percentage is on the order of 55-60%.
As-is, we only do the assessment for users that are opted into Crumbs collection, as we're using crumbs to get a timestamp from the browser session lifetime. As this is a high-value metric, it makes sense to divorce it from Crumbs collection.

To that end, it's likely better to e.g. write the current time to Local State on every flush (and perhaps make sure it's flushed every 30-60 minutes on quiescent browsers, if that's not already the case). During stability reporting, this date can then be used as the timestamp for the assessment.
This assessment is potentially expensive, as it needs to query Windows system logs.

I'd like advice from uma-team on how the metric is best reported. Options include
- Compute this in the background and report in a histogram.
  This will only allow correlating and comparing aggregates, and will be
  subject to the usual sort of trouble with outlier reports, reporting lag,
  etc.
- Compute this as part of stability reporting and report as histogram.
  I'm not sure whether this has any advantage over the above. I'd love to
  see an overview design doc for how UMA reporting works, specifically how
  stability reports differ from regular reports.
- Compute and report in an existing or new stability proto field.
  This will allow per-count comparison to UCS and filtering outliers.

 

Comment 1 by siggi@chromium.org, Jan 5 2018

Blocking: 759191

Comment 2 by siggi@chromium.org, Jan 5 2018

Labels: M-66
Slight clarification wrt #1. 

The StabilityDebugging experiment controls whether Crumbs are recorded. From there, an experiment parameter determines whether to collect postmortem crash reports. However, instability assessment is always preformed.

https://cs.chromium.org/chromium/src/components/browser_watcher/watcher_metrics_provider_win.cc?l=267
Project Member

Comment 4 by bugdroid1@chromium.org, Jan 29 2018

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

commit 57952500d4142206976597f0f07aee513d6a0f07
Author: Sigurdur Asgeirsson <siggi@chromium.org>
Date: Mon Jan 29 16:15:08 2018

Start saving a browser last-live timestamp in local state.

The preference lossy, and so shouldn't cause extra writes. It is updated
with the beacon value, and may optionally be autoupdated on a very slow
schedule.

Bug:  799526 
Change-Id: I23382a3174f140ac9a137025988b4037493f1e8f
Reviewed-on: https://chromium-review.googlesource.com/887347
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532450}
[modify] https://crrev.com/57952500d4142206976597f0f07aee513d6a0f07/components/metrics/clean_exit_beacon.cc
[modify] https://crrev.com/57952500d4142206976597f0f07aee513d6a0f07/components/metrics/clean_exit_beacon.h
[modify] https://crrev.com/57952500d4142206976597f0f07aee513d6a0f07/components/metrics/metrics_pref_names.cc
[modify] https://crrev.com/57952500d4142206976597f0f07aee513d6a0f07/components/metrics/metrics_pref_names.h
[modify] https://crrev.com/57952500d4142206976597f0f07aee513d6a0f07/components/metrics/metrics_service.cc
[modify] https://crrev.com/57952500d4142206976597f0f07aee513d6a0f07/components/metrics/metrics_service.h
[modify] https://crrev.com/57952500d4142206976597f0f07aee513d6a0f07/components/metrics/metrics_service_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jan 30 2018

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

commit 5bf01aa8441d96f848df9211cf45881b77e0cdd6
Author: Sigurdur Asgeirsson <siggi@chromium.org>
Date: Tue Jan 30 18:59:18 2018

Move SystemSessionAnalyzer into the metrics component.

Bug:  799526 
Change-Id: Id1f4e62914232e4cf37d550f6914690334f7ddee
Reviewed-on: https://chromium-review.googlesource.com/893207
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532977}
[modify] https://crrev.com/5bf01aa8441d96f848df9211cf45881b77e0cdd6/components/browser_watcher/BUILD.gn
[modify] https://crrev.com/5bf01aa8441d96f848df9211cf45881b77e0cdd6/components/browser_watcher/fetch_system_session_events_main_win.cc
[modify] https://crrev.com/5bf01aa8441d96f848df9211cf45881b77e0cdd6/components/browser_watcher/postmortem_report_collector.cc
[modify] https://crrev.com/5bf01aa8441d96f848df9211cf45881b77e0cdd6/components/browser_watcher/postmortem_report_collector.h
[modify] https://crrev.com/5bf01aa8441d96f848df9211cf45881b77e0cdd6/components/browser_watcher/postmortem_report_collector_unittest.cc
[modify] https://crrev.com/5bf01aa8441d96f848df9211cf45881b77e0cdd6/components/browser_watcher/watcher_metrics_provider_win.cc
[modify] https://crrev.com/5bf01aa8441d96f848df9211cf45881b77e0cdd6/components/metrics/BUILD.gn
[rename] https://crrev.com/5bf01aa8441d96f848df9211cf45881b77e0cdd6/components/metrics/system_session_analyzer_win.cc
[rename] https://crrev.com/5bf01aa8441d96f848df9211cf45881b77e0cdd6/components/metrics/system_session_analyzer_win.h
[rename] https://crrev.com/5bf01aa8441d96f848df9211cf45881b77e0cdd6/components/metrics/system_session_analyzer_win_unittest.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 2 2018

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

commit 693534f1ecadfa8beafe21a96de69c90efcf90c4
Author: Sigurdur Asgeirsson <siggi@chromium.org>
Date: Fri Feb 02 19:49:36 2018

Refactor SystemSessionAnalyzer for minimal log traversal.

The expected normal case is where the previous browser session is
embedded in the immedate prior system session. By querying the log
session by session, system log traversal should be minimized for
the normal case.

Bug:  799526 
Change-Id: Ic63b6a3cdcd77afd7554d06ac8320f20efa03f28
Reviewed-on: https://chromium-review.googlesource.com/894837
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534128}
[modify] https://crrev.com/693534f1ecadfa8beafe21a96de69c90efcf90c4/components/browser_watcher/fetch_system_session_events_main_win.cc
[modify] https://crrev.com/693534f1ecadfa8beafe21a96de69c90efcf90c4/components/metrics/system_session_analyzer_win.cc
[modify] https://crrev.com/693534f1ecadfa8beafe21a96de69c90efcf90c4/components/metrics/system_session_analyzer_win.h
[modify] https://crrev.com/693534f1ecadfa8beafe21a96de69c90efcf90c4/components/metrics/system_session_analyzer_win_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Feb 2 2018

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

commit 8c67a59dc07cd88876e81ddee23349c09d5924a0
Author: Sigurdur Asgeirsson <siggi@chromium.org>
Date: Fri Feb 02 21:10:33 2018

Analyze and record Windows system crashes on browser crash.

Bug:  799526 
Change-Id: Ie61ff4ada2c1ed57949414c0c400ea93481a68c5
Reviewed-on: https://chromium-review.googlesource.com/897904
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534149}
[modify] https://crrev.com/8c67a59dc07cd88876e81ddee23349c09d5924a0/components/metrics/clean_exit_beacon.cc
[modify] https://crrev.com/8c67a59dc07cd88876e81ddee23349c09d5924a0/components/metrics/metrics_pref_names.cc
[modify] https://crrev.com/8c67a59dc07cd88876e81ddee23349c09d5924a0/components/metrics/metrics_pref_names.h
[modify] https://crrev.com/8c67a59dc07cd88876e81ddee23349c09d5924a0/components/metrics/metrics_service.cc
[modify] https://crrev.com/8c67a59dc07cd88876e81ddee23349c09d5924a0/components/metrics/stability_metrics_provider.cc
[modify] https://crrev.com/8c67a59dc07cd88876e81ddee23349c09d5924a0/components/metrics/stability_metrics_provider.h
[modify] https://crrev.com/8c67a59dc07cd88876e81ddee23349c09d5924a0/components/metrics/stability_metrics_provider_unittest.cc
[modify] https://crrev.com/8c67a59dc07cd88876e81ddee23349c09d5924a0/tools/metrics/histograms/histograms.xml

Comment 8 by siggi@chromium.org, Feb 5 2018

Status: Fixed (was: Assigned)
This is now live.
Project Member

Comment 9 by bugdroid1@chromium.org, Feb 8 2018

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

commit cbc3cb39fd769625cf51e5e5009033e3e048de55
Author: Sigurdur Asgeirsson <siggi@chromium.org>
Date: Thu Feb 08 20:28:43 2018

Update the last live timestamp for system session analysis.

Bug:  799526 
Change-Id: I75c1b130c5db6292463a883a1ececca213742601
Reviewed-on: https://chromium-review.googlesource.com/902183
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535494}
[modify] https://crrev.com/cbc3cb39fd769625cf51e5e5009033e3e048de55/chrome/browser/chrome_browser_main.cc

Sign in to add a comment