New issue
Advanced search Search tips

Issue 784853 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Make "Startup.BrowserMessageLoopStartHardFaultCount" be gathered from a TaskPriority::BACKGROUND task.

Project Member Reported by sebmarchand@chromium.org, Nov 14 2017

Issue description

The "Startup.BrowserMessageLoopStartHardFaultCount" histogram requires calling "NtQuerySystemInformation"[1], which is an expensive system call (see crbug.com/780597) and we should avoid doing this if we don't need this metric anymore.

[1] https://cs.chromium.org/chromium/src/components/startup_metric_utils/browser/startup_metric_utils.cc?l=136&rcl=0a8e88e51b5e07ef25e1a7504447ed1b27f6e3e0
 
Cc: gab@chromium.org
It gets called once, and post startup. I wouldn't worry too much about the perf impact. We could at the very least make sure its gets posted as a background task.

This metric gets used to split various other metrics in WarmStart and ColdStart variants, which are still very much in use.
Ha ok, my understanding was that this metric wasn't needed anymore, so I wanted to make sure that we don't do this call for nothing. The UMA sampling profiler seems to indicate that it takes ~10ms in average, which isn't so bad.

Comment 3 by gab@chromium.org, Nov 16 2017

Owner: sebmarchand@chromium.org
Status: Assigned (was: Untriaged)
Summary: Make "Startup.BrowserMessageLoopStartHardFaultCount" be gathered from a TaskPriority::BACKGROUND task. (was: Deprecate the "Startup.BrowserMessageLoopStartHardFaultCount" histogram)
Agreed on doing it as a TaskPriority::BACKGROUND task but let's not remove it. This is the kind of information which we don't look at often but when we want it, we want data from stable day of.

Seb, any chance you can get this wired up? Re-assign if you're merely mass filing bugs and aren't looking for action items.
Project Member

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

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

commit 3560431c3b6c13dde19b92335fb8421d8f374800
Author: Sebastien Marchand <sebmarchand@chromium.org>
Date: Fri Feb 02 01:54:59 2018

Make the startup pagefault count be gathered from a background task


Make Startup.BrowserMessageLoopStartHardFaultCount be gathered from a
TaskPriority::BACKGROUND task

Bug:  784853 
Change-Id: Ia8772f9e66a20dabbd6e8fd7c73588bed421f9bc
Reviewed-on: https://chromium-review.googlesource.com/884377
Commit-Queue: Sébastien Marchand <sebmarchand@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533912}
[modify] https://crrev.com/3560431c3b6c13dde19b92335fb8421d8f374800/components/startup_metric_utils/browser/startup_metric_utils.cc

Status: Fixed (was: Assigned)
FYI - this reduced main thread startup time by 7.4ms: https://uma.googleplex.com/p/chrome/callstacks?sid=deb94e53e1207f3da935a5c0fb4c056f
Cc: w...@chromium.org brucedaw...@chromium.org
Cool! +a few folks FYI, here's more proofs that NtQuerySystemInformation is expensive! (and that the sampling profiler is awesome!)

Comment 8 by w...@chromium.org, Feb 7 2018

Does moving the point at which we sample the hard-fault count affect the actual values reported by the Startup.BrowserMessageLoopStartHardFaultCount metric?
I've looked at the timeline for Canary and the metric hasn't really moved, but I'll look again once this reaches a bigger channel. 
Looks like this broke the Startup.MessageLoopStartTime temperature histograms. Filed  bug 814805  on this.
Thanks, I've left a comment on the other bug.

I'll revert this for now (as I'm OOO for the rest of the week)
Project Member

Comment 12 by bugdroid1@chromium.org, Feb 22 2018

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

commit ec8c80dd200e7ef4cab0ad212a70a9cb57676bc0
Author: Sébastien Marchand <sebmarchand@chromium.org>
Date: Thu Feb 22 18:29:43 2018

Revert "Make the startup pagefault count be gathered from a background task"

This reverts commit 3560431c3b6c13dde19b92335fb8421d8f374800.

Reason for revert:  crbug.com/814805 

Original change's description:
> Make the startup pagefault count be gathered from a background task
> 
> 
> Make Startup.BrowserMessageLoopStartHardFaultCount be gathered from a
> TaskPriority::BACKGROUND task
> 
> Bug:  784853 
> Change-Id: Ia8772f9e66a20dabbd6e8fd7c73588bed421f9bc
> Reviewed-on: https://chromium-review.googlesource.com/884377
> Commit-Queue: Sébastien Marchand <sebmarchand@chromium.org>
> Reviewed-by: Gabriel Charette <gab@chromium.org>
> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#533912}

TBR=gab@chromium.org,asvitkine@chromium.org,sebmarchand@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  784853 
Change-Id: I02480871ffa3868d856d041d944f46e2fce70a5c
Reviewed-on: https://chromium-review.googlesource.com/931961
Reviewed-by: Sébastien Marchand <sebmarchand@chromium.org>
Commit-Queue: Sébastien Marchand <sebmarchand@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538493}
[modify] https://crrev.com/ec8c80dd200e7ef4cab0ad212a70a9cb57676bc0/components/startup_metric_utils/browser/startup_metric_utils.cc

Sign in to add a comment