Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(253)

Issue 1029653002: Enable startup profiling by Win x64 stack sampling profiler (Closed)

Created:
5 years, 9 months ago by Mike Wittman
Modified:
5 years, 8 months ago
CC:
chromium-reviews, erikwright+watch_chromium.org, Alexei Svitkine (slow)
Base URL:
https://chromium.googlesource.com/chromium/src.git@statprof-metrics-provider
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Enable startup profiling by Win x64 stack sampling profiler Collects stack samples at 10 Hz for 30 seconds at startup. Uploading of samples to UMA is controlled by a Finch experiment. This change moves to a callback-based mechanism for communicating completed profiles to the metrics provider to avoid profiles lingering in memory when reporting is disabled. BUG=464929 Committed: https://crrev.com/ae2a08ac68bcb4000d1ddf391dbf19aa285cc48f Cr-Commit-Position: refs/heads/master@{#324175}

Patch Set 1 #

Patch Set 2 : update tests #

Patch Set 3 : add tests #

Total comments: 15

Patch Set 4 : address comments #

Total comments: 11

Patch Set 5 : address comments #

Patch Set 6 : early destruction fix #

Total comments: 2

Patch Set 7 : rebase onto cleanup CL #

Patch Set 8 : restore AVeryLongTimeDelta #

Total comments: 1

Patch Set 9 : rebase #

Patch Set 10 : do IsSamplingProfilingReportingEnabled() check when appending profiles #

Total comments: 4

Patch Set 11 : add test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+457 lines, -121 lines) Patch
M base/profiler/stack_sampling_profiler.h View 1 2 3 4 5 6 7 8 6 chunks +27 lines, -24 lines 0 comments Download
M base/profiler/stack_sampling_profiler.cc View 1 2 3 4 5 6 4 chunks +88 lines, -37 lines 0 comments Download
M base/profiler/stack_sampling_profiler_unittest.cc View 1 2 3 4 5 6 7 7 chunks +154 lines, -30 lines 0 comments Download
M chrome/browser/chrome_browser_main.h View 3 chunks +7 lines, -4 lines 0 comments Download
M chrome/browser/chrome_browser_main.cc View 2 chunks +16 lines, -0 lines 0 comments Download
M components/metrics/call_stack_profile_metrics_provider.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +32 lines, -6 lines 0 comments Download
M components/metrics/call_stack_profile_metrics_provider.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +70 lines, -11 lines 0 comments Download
M components/metrics/call_stack_profile_metrics_provider_unittest.cc View 1 2 3 4 5 6 7 8 9 10 10 chunks +63 lines, -9 lines 0 comments Download

Messages

Total messages: 27 (8 generated)
Mike Wittman
PTAL This is the follow-on CL to enable the profiler. cpu: base, chrome/browser isherman: components/metrics
5 years, 9 months ago (2015-03-24 00:42:18 UTC) #3
Ilya Sherman
https://codereview.chromium.org/1029653002/diff/60001/components/metrics/call_stack_profile_metrics_provider.cc File components/metrics/call_stack_profile_metrics_provider.cc (right): https://codereview.chromium.org/1029653002/diff/60001/components/metrics/call_stack_profile_metrics_provider.cc#newcode25 components/metrics/call_stack_profile_metrics_provider.cc:25: bool IsSamplingProfilingReportingEnabled() { nit: Doc string, please. https://codereview.chromium.org/1029653002/diff/60001/components/metrics/call_stack_profile_metrics_provider.cc#newcode116 components/metrics/call_stack_profile_metrics_provider.cc:116: ...
5 years, 9 months ago (2015-03-24 04:02:04 UTC) #4
Mike Wittman
https://codereview.chromium.org/1029653002/diff/60001/base/profiler/stack_sampling_profiler_unittest.cc File base/profiler/stack_sampling_profiler_unittest.cc (right): https://codereview.chromium.org/1029653002/diff/60001/base/profiler/stack_sampling_profiler_unittest.cc#newcode389 base/profiler/stack_sampling_profiler_unittest.cc:389: TEST(StackSamplingProfilerTest, MAYBE_DefaultCallback) { This test and the following one ...
5 years, 9 months ago (2015-03-24 18:37:39 UTC) #5
Ilya Sherman
Thanks! LGTM % nits: https://codereview.chromium.org/1029653002/diff/80001/components/metrics/call_stack_profile_metrics_provider.cc File components/metrics/call_stack_profile_metrics_provider.cc (right): https://codereview.chromium.org/1029653002/diff/80001/components/metrics/call_stack_profile_metrics_provider.cc#newcode26 components/metrics/call_stack_profile_metrics_provider.cc:26: void IgnoreCompletedProfiles( nit: Doc string, ...
5 years, 9 months ago (2015-03-24 21:07:55 UTC) #6
Mike Wittman
https://codereview.chromium.org/1029653002/diff/80001/components/metrics/call_stack_profile_metrics_provider.h File components/metrics/call_stack_profile_metrics_provider.h (right): https://codereview.chromium.org/1029653002/diff/80001/components/metrics/call_stack_profile_metrics_provider.h#newcode13 components/metrics/call_stack_profile_metrics_provider.h:13: #include "base/synchronization/lock.h" On 2015/03/24 21:07:55, Ilya Sherman wrote: > ...
5 years, 9 months ago (2015-03-24 22:40:59 UTC) #7
cpu_(ooo_6.6-7.5)
https://codereview.chromium.org/1029653002/diff/140001/chrome/browser/chrome_browser_main.cc File chrome/browser/chrome_browser_main.cc (right): https://codereview.chromium.org/1029653002/diff/140001/chrome/browser/chrome_browser_main.cc#newcode587 chrome/browser/chrome_browser_main.cc:587: sampling_profiler_.Start(); so what is our plan? we are branching ...
5 years, 8 months ago (2015-03-31 23:39:07 UTC) #9
Mike Wittman
In patch set 7 I've rebased this CL against my readability CL in https://codereview.chromium.org/1030923002. If ...
5 years, 8 months ago (2015-04-01 00:13:12 UTC) #10
cpu_(ooo_6.6-7.5)
lgtm go ahead and carry your profiling for a few days, then please disable it. ...
5 years, 8 months ago (2015-04-07 00:36:52 UTC) #11
Mike Wittman
On 2015/04/07 00:36:52, cpu wrote: > go ahead and carry your profiling for a few ...
5 years, 8 months ago (2015-04-07 01:17:10 UTC) #12
cpu_(ooo_6.6-7.5)
Do a writeup how you see this being permanently enabled, in which cases, what population ...
5 years, 8 months ago (2015-04-07 17:48:41 UTC) #13
Mike Wittman
On 2015/04/07 17:48:41, cpu wrote: > Do a writeup how you see this being permanently ...
5 years, 8 months ago (2015-04-07 21:21:55 UTC) #14
Mike Wittman
Ilya, I've made a small change in patch set 10 to avoid storing profiles if ...
5 years, 8 months ago (2015-04-07 21:56:52 UTC) #15
Ilya Sherman
https://codereview.chromium.org/1029653002/diff/220001/components/metrics/call_stack_profile_metrics_provider.cc File components/metrics/call_stack_profile_metrics_provider.cc (right): https://codereview.chromium.org/1029653002/diff/220001/components/metrics/call_stack_profile_metrics_provider.cc#newcode155 components/metrics/call_stack_profile_metrics_provider.cc:155: pending_profiles_.clear(); Whoops! Good catch! Could you please add a ...
5 years, 8 months ago (2015-04-07 22:01:23 UTC) #16
Mike Wittman
https://codereview.chromium.org/1029653002/diff/220001/components/metrics/call_stack_profile_metrics_provider.cc File components/metrics/call_stack_profile_metrics_provider.cc (right): https://codereview.chromium.org/1029653002/diff/220001/components/metrics/call_stack_profile_metrics_provider.cc#newcode155 components/metrics/call_stack_profile_metrics_provider.cc:155: pending_profiles_.clear(); On 2015/04/07 22:01:22, Ilya Sherman wrote: > Whoops! ...
5 years, 8 months ago (2015-04-07 22:40:29 UTC) #18
Ilya Sherman
LGTM, thanks.
5 years, 8 months ago (2015-04-07 22:42:19 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1029653002/260001
5 years, 8 months ago (2015-04-07 22:43:00 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1029653002/260001
5 years, 8 months ago (2015-04-08 00:55:31 UTC) #25
commit-bot: I haz the power
Committed patchset #11 (id:260001)
5 years, 8 months ago (2015-04-08 02:20:46 UTC) #26
commit-bot: I haz the power
5 years, 8 months ago (2015-04-08 02:21:34 UTC) #27
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/ae2a08ac68bcb4000d1ddf391dbf19aa285cc48f
Cr-Commit-Position: refs/heads/master@{#324175}

Powered by Google App Engine
This is Rietveld 408576698