Chromium Code Reviews
Help | Chromium Project | Sign in
(1)

Issue 2702463003: NativeStackSampler implementation for Mac.

Can't Edit
Can't Publish+Mail
Start Review
Created:
1 week, 5 days ago by Avi
Modified:
3 days, 8 hours ago
CC:
chromium-reviews, mac-reviews_chromium.org, vmpstr+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

NativeStackSampler implementation for Mac. Stack sampling on Mac implemented for StackSamplingProfiler to provide Chrome stack trace data from Mac users to UMA. BUG=531673

Patch Set 1 #

Patch Set 2 : rev #

Patch Set 3 : 0u #

Total comments: 19

Patch Set 4 : Mike #

Patch Set 5 : fix #

Total comments: 25

Patch Set 6 : mark #

Patch Set 7 : config #

Patch Set 8 : fix for test #

Messages

Total messages: 89 (59 generated)
Avi
Mike: For integration into the stack sampler world. There are a few cleanups to the ...
1 week, 4 days ago (2017-02-16 06:11:16 UTC) #18
Mike Wittman
https://codereview.chromium.org/2702463003/diff/40001/base/BUILD.gn File base/BUILD.gn (right): https://codereview.chromium.org/2702463003/diff/40001/base/BUILD.gn#newcode2317 base/BUILD.gn:2317: data_deps += [ ":base_profiler_test_support_library" ] On 2017/02/16 06:11:15, Avi ...
1 week, 4 days ago (2017-02-16 21:51:34 UTC) #21
Avi
Well, the trybots are pretty broken, but here you go for a new version. https://codereview.chromium.org/2702463003/diff/40001/base/BUILD.gn ...
1 week, 3 days ago (2017-02-17 03:41:09 UTC) #48
Mark Mentovai
This is only partial. https://codereview.chromium.org/2702463003/diff/40001/base/profiler/native_stack_sampler_mac.cc File base/profiler/native_stack_sampler_mac.cc (right): https://codereview.chromium.org/2702463003/diff/40001/base/profiler/native_stack_sampler_mac.cc#newcode156 base/profiler/native_stack_sampler_mac.cc:156: step_result = unw_step(&unwind_cursor); Avi wrote: ...
1 week, 3 days ago (2017-02-17 05:21:05 UTC) #52
Mark Mentovai
(my review, I mean.)
1 week, 3 days ago (2017-02-17 05:21:31 UTC) #54
Mike Wittman
https://codereview.chromium.org/2702463003/diff/40001/base/BUILD.gn File base/BUILD.gn (right): https://codereview.chromium.org/2702463003/diff/40001/base/BUILD.gn#newcode2317 base/BUILD.gn:2317: data_deps += [ ":base_profiler_test_support_library" ] On 2017/02/17 03:41:09, Avi ...
1 week, 3 days ago (2017-02-17 17:09:15 UTC) #59
Avi
https://codereview.chromium.org/2702463003/diff/40001/base/profiler/native_stack_sampler_mac.cc File base/profiler/native_stack_sampler_mac.cc (right): https://codereview.chromium.org/2702463003/diff/40001/base/profiler/native_stack_sampler_mac.cc#newcode156 base/profiler/native_stack_sampler_mac.cc:156: step_result = unw_step(&unwind_cursor); On 2017/02/17 17:09:15, Mike Wittman wrote: ...
1 week, 3 days ago (2017-02-17 17:18:13 UTC) #60
Mike Wittman
https://codereview.chromium.org/2702463003/diff/40001/base/profiler/native_stack_sampler_mac.cc File base/profiler/native_stack_sampler_mac.cc (right): https://codereview.chromium.org/2702463003/diff/40001/base/profiler/native_stack_sampler_mac.cc#newcode156 base/profiler/native_stack_sampler_mac.cc:156: step_result = unw_step(&unwind_cursor); On 2017/02/17 17:18:12, Avi wrote: > ...
1 week, 3 days ago (2017-02-17 17:38:51 UTC) #63
Avi
https://codereview.chromium.org/2702463003/diff/80001/base/BUILD.gn File base/BUILD.gn (right): https://codereview.chromium.org/2702463003/diff/80001/base/BUILD.gn#newcode1828 base/BUILD.gn:1828: shared_library("base_profiler_test_support_library") { On 2017/02/17 17:18:12, Avi wrote: > On ...
1 week, 3 days ago (2017-02-17 17:47:40 UTC) #66
Mark Mentovai
Avi wrote: > https://codereview.chromium.org/2702463003/diff/80001/base/BUILD.gn > File base/BUILD.gn (right): > > https://codereview.chromium.org/2702463003/diff/80001/base/BUILD.gn#newcode1828 > base/BUILD.gn:1828: shared_library("base_profiler_test_support_library") { ...
1 week, 3 days ago (2017-02-17 18:10:20 UTC) #67
Avi
On 2017/02/17 18:10:20, Mark Mentovai wrote: > Avi wrote: > > https://codereview.chromium.org/2702463003/diff/80001/base/BUILD.gn > > File ...
1 week, 3 days ago (2017-02-17 18:19:56 UTC) #68
Avi
On 2017/02/17 18:19:56, Avi wrote: > On 2017/02/17 18:10:20, Mark Mentovai wrote: > > Avi ...
1 week, 3 days ago (2017-02-17 21:20:39 UTC) #71
Avi
Here is a sample run with logging in ReceiveCompletedProfilesImpl: ReceiveCompletedProfilesImpl > received 1 profiles >> ...
1 week, 3 days ago (2017-02-17 21:33:41 UTC) #72
Mike Wittman
On 2017/02/17 21:33:41, Avi wrote: > Here is a sample run with logging in ReceiveCompletedProfilesImpl: ...
1 week, 3 days ago (2017-02-17 21:57:42 UTC) #73
Avi
On 2017/02/17 21:57:42, Mike Wittman wrote: > On 2017/02/17 21:33:41, Avi wrote: > > Here ...
1 week, 3 days ago (2017-02-17 22:04:12 UTC) #74
Mike Wittman
On 2017/02/17 22:04:12, Avi wrote: > On 2017/02/17 21:57:42, Mike Wittman wrote: > > On ...
1 week, 3 days ago (2017-02-17 22:18:27 UTC) #75
Avi
I'm not even to the 9 frame stacks. We're stuck with two issues. The first ...
1 week, 3 days ago (2017-02-17 22:46:57 UTC) #76
Mark Mentovai
On 2017/02/17 22:46:57, Avi wrote: > I'm not even to the 9 frame stacks. > ...
1 week, 1 day ago (2017-02-19 16:23:27 UTC) #77
Avi
You are correct; this is due to an error during hacking to figure out what's ...
1 week, 1 day ago (2017-02-19 19:05:00 UTC) #78
Avi
On 2017/02/19 19:05:00, Avi wrote: > I'm going to dig a bit with that approach. ...
1 week, 1 day ago (2017-02-19 19:46:02 UTC) #79
Avi
On 2017/02/19 19:46:02, Avi wrote: > On 2017/02/19 19:05:00, Avi wrote: > > I'm going ...
1 week, 1 day ago (2017-02-19 21:19:30 UTC) #80
Avi
As a reply to two posts ago, I modified the stack unwinder to keep at ...
1 week, 1 day ago (2017-02-20 00:01:11 UTC) #81
Mark Mentovai
First, lemme capture my previous e-mail to you here to give context to the review ...
1 week, 1 day ago (2017-02-20 00:06:28 UTC) #82
Mark Mentovai
The trick that I gave you previously was “rip = *rsp; rsp += 8;”. That’s ...
1 week, 1 day ago (2017-02-20 00:32:10 UTC) #83
Avi
There are all kinds of leaf functions, as I ran into last time: +[NSObject alloc] ...
1 week, 1 day ago (2017-02-20 00:39:47 UTC) #84
Mark Mentovai
Avi wrote: > There are all kinds of leaf functions, as I ran into last ...
1 week ago (2017-02-20 05:23:05 UTC) #85
Mike Wittman
Providing a little context here: it's OK from the analysis perspective if we can't recover ...
3 days, 11 hours ago (2017-02-24 16:01:13 UTC) #86
Avi
On 2017/02/24 16:01:13, Mike Wittman wrote: > Providing a little context here: it's OK from ...
3 days, 8 hours ago (2017-02-24 18:43:03 UTC) #87
Avi
On 2017/02/20 05:23:05, Mark Mentovai wrote: > By now you know how to get these: ...
3 days, 8 hours ago (2017-02-24 18:49:42 UTC) #88
Mike Wittman
3 days, 8 hours ago (2017-02-24 18:51:24 UTC) #89
On 2017/02/24 18:43:03, Avi wrote:
> On 2017/02/24 16:01:13, Mike Wittman wrote:
> > Providing a little context here: it's OK from the analysis perspective if we
> > can't recover every stack, as long as we recover "most" stacks. About 0.5%
of
> > stacks on Windows are incompletely unwound for various reasons; if we can
> > achieve something in the same ballpark for Mac and avoid crashing on the
> > unwindable cases, I'd consider that a success.
> 
> If you'd be ok with not being able to unwind the weird IPs that don't match a
> loaded module, I'd be OK letting those slide for the first version of this.

Sounds reasonable for v1. If we can distinguish this case in the resulting data,
then a small amount of analysis will tell us how big a problem this is in real
world usage.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f8e48bd