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

Issue 74063002: DevTools: Support asynchronous call stacks on backend. (Closed)

Created:
7 years, 1 month ago by aandrey
Modified:
7 years ago
Reviewers:
caseq, vsevik, pfeldman, yurys, loislo
CC:
blink-reviews, apavlov+blink_chromium.org, adamk+blink_chromium.org, aandrey+blink_chromium.org, Nils Barth (inactive), caseq+blink_chromium.org, kojih, arv+blink, yurys+blink_chromium.org, abarth-chromium, marja+watch_chromium.org, devtools-reviews_chromium.org, loislo+blink_chromium.org, lushnikov+blink_chromium.org, eustas+blink_chromium.org, paulirish+reviews_chromium.org, haraken, Nate Chapin, jsbell+bindings_chromium.org, alph+blink_chromium.org, vsevik+blink_chromium.org, pfeldman+blink_chromium.org, Inactive
Visibility:
Public.

Description

DevTools: Support asynchronous call stacks on backend. Track asynchronous call stacks for setTimeout/setInterval and requestAnimationFrame on the backend. BUG=272416, 326479 R=pfeldman@chromium.org, yurys@chromium.org, caseq@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=163266 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=163353

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : Async call stacks are off by default, added Debugger.enableAsyncCallStacks protocol command #

Total comments: 19

Patch Set 4 : addressed #

Total comments: 3

Patch Set 5 : addressed #

Total comments: 18

Patch Set 6 : addressed #

Patch Set 7 : turn off debug logging #

Patch Set 8 : added tests + protocol plumbing #

Patch Set 9 : removed trash #

Total comments: 30

Patch Set 10 : addressed #

Patch Set 11 : addressed #

Patch Set 12 : fixed test flakiness #

Unified diffs Side-by-side diffs Delta from patch set Stats (+618 lines, -58 lines) Patch
M LayoutTests/http/tests/inspector/debugger-test.js View 1 2 3 4 5 6 7 8 2 chunks +34 lines, -23 lines 0 comments Download
M LayoutTests/http/tests/inspector/inspector-test.js View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +18 lines, -0 lines 0 comments Download
A LayoutTests/inspector/debugger/async-callstack.html View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +111 lines, -0 lines 0 comments Download
A LayoutTests/inspector/debugger/async-callstack-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +62 lines, -0 lines 0 comments Download
M LayoutTests/inspector/debugger/debugger-activation-crash2.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/inspector/debugger/debugger-return-value.html View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/v8/ScriptDebugServer.h View 1 2 3 4 5 3 chunks +1 line, -4 lines 0 comments Download
M Source/bindings/v8/ScriptDebugServer.cpp View 1 2 3 4 5 4 chunks +19 lines, -17 lines 0 comments Download
M Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
A Source/core/inspector/AsyncCallStackTracker.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +99 lines, -0 lines 0 comments Download
A Source/core/inspector/AsyncCallStackTracker.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +171 lines, -0 lines 0 comments Download
M Source/core/inspector/InspectorDebuggerAgent.h View 1 2 3 4 5 6 7 4 chunks +11 lines, -0 lines 0 comments Download
M Source/core/inspector/InspectorDebuggerAgent.cpp View 1 2 3 4 5 6 7 8 chunks +73 lines, -5 lines 0 comments Download
M Source/core/inspector/InspectorInstrumentation.idl View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +7 lines, -7 lines 0 comments Download
M Source/devtools/protocol.json View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (0 generated)
aandrey
7 years, 1 month ago (2013-11-15 14:58:52 UTC) #1
aandrey
Async call stacks are off by default. Added Debugger.enableAsyncCallStacks protocol command.
7 years, 1 month ago (2013-11-18 10:52:25 UTC) #2
yurys
Please provide some overview of the implementation in the description. https://codereview.chromium.org/74063002/diff/90001/Source/core/inspector/AsyncCallStackTracker.h File Source/core/inspector/AsyncCallStackTracker.h (right): https://codereview.chromium.org/74063002/diff/90001/Source/core/inspector/AsyncCallStackTracker.h#newcode46 ...
7 years, 1 month ago (2013-11-20 01:23:43 UTC) #3
loislo
https://codereview.chromium.org/74063002/diff/90001/Source/bindings/v8/ScriptDebugServer.cpp File Source/bindings/v8/ScriptDebugServer.cpp (right): https://codereview.chromium.org/74063002/diff/90001/Source/bindings/v8/ScriptDebugServer.cpp#newcode215 Source/bindings/v8/ScriptDebugServer.cpp:215: v8::HandleScope scope(m_isolate); it is not clear for me why ...
7 years, 1 month ago (2013-11-20 01:39:17 UTC) #4
yurys
https://codereview.chromium.org/74063002/diff/90001/Source/devtools/protocol.json File Source/devtools/protocol.json (right): https://codereview.chromium.org/74063002/diff/90001/Source/devtools/protocol.json#newcode2962 Source/devtools/protocol.json:2962: { "name": "asyncCallFrames", "type": "array", "items": { "$ref": "CallFrame" ...
7 years, 1 month ago (2013-11-20 14:07:57 UTC) #5
aandrey
PTAL https://codereview.chromium.org/74063002/diff/90001/Source/bindings/v8/ScriptDebugServer.cpp File Source/bindings/v8/ScriptDebugServer.cpp (right): https://codereview.chromium.org/74063002/diff/90001/Source/bindings/v8/ScriptDebugServer.cpp#newcode215 Source/bindings/v8/ScriptDebugServer.cpp:215: v8::HandleScope scope(m_isolate); On 2013/11/20 01:39:18, loislo wrote: > ...
7 years, 1 month ago (2013-11-20 15:20:01 UTC) #6
aandrey
> Please provide some overview of the implementation in the description. Updated the description.
7 years, 1 month ago (2013-11-20 15:48:28 UTC) #7
vsevik
I think an implementation storing an array of RefPtr<AsyncCallStack> for each timer will have a ...
7 years ago (2013-11-27 13:58:58 UTC) #8
aandrey
On 2013/11/27 13:58:58, vsevik wrote: > I think an implementation storing an array of RefPtr<AsyncCallStack> ...
7 years ago (2013-11-27 16:02:14 UTC) #9
yurys
https://codereview.chromium.org/74063002/diff/190001/Source/core/inspector/AsyncCallStackTracker.cpp File Source/core/inspector/AsyncCallStackTracker.cpp (right): https://codereview.chromium.org/74063002/diff/190001/Source/core/inspector/AsyncCallStackTracker.cpp#newcode183 Source/core/inspector/AsyncCallStackTracker.cpp:183: // Defer modifying the path count. Why do you ...
7 years ago (2013-11-28 09:18:15 UTC) #10
vsevik
On 2013/11/27 16:02:14, aandrey wrote: > On 2013/11/27 13:58:58, vsevik wrote: > > I think ...
7 years ago (2013-11-28 10:17:40 UTC) #11
yurys
On 2013/11/28 10:17:40, vsevik wrote: > On 2013/11/27 16:02:14, aandrey wrote: > > On 2013/11/27 ...
7 years ago (2013-11-28 10:30:33 UTC) #12
yurys
https://codereview.chromium.org/74063002/diff/90001/Source/devtools/protocol.json File Source/devtools/protocol.json (right): https://codereview.chromium.org/74063002/diff/90001/Source/devtools/protocol.json#newcode2962 Source/devtools/protocol.json:2962: { "name": "asyncCallFrames", "type": "array", "items": { "$ref": "CallFrame" ...
7 years ago (2013-11-28 10:35:40 UTC) #13
aandrey
Re-implemented using Deque<RefPtr<...>> to store the async traces. Removed protocol.json bindings from this patch - ...
7 years ago (2013-11-29 13:35:38 UTC) #14
yurys
https://codereview.chromium.org/74063002/diff/240001/Source/bindings/v8/ScriptDebugServer.cpp File Source/bindings/v8/ScriptDebugServer.cpp (right): https://codereview.chromium.org/74063002/diff/240001/Source/bindings/v8/ScriptDebugServer.cpp#newcode211 Source/bindings/v8/ScriptDebugServer.cpp:211: listener->didRequestAsyncCallFrames(currentCallFrame()); I believe we can implement this synchronously by ...
7 years ago (2013-12-03 13:41:08 UTC) #15
aandrey
Made the request synchronous. PTAL. https://codereview.chromium.org/74063002/diff/240001/Source/bindings/v8/ScriptDebugServer.cpp File Source/bindings/v8/ScriptDebugServer.cpp (right): https://codereview.chromium.org/74063002/diff/240001/Source/bindings/v8/ScriptDebugServer.cpp#newcode211 Source/bindings/v8/ScriptDebugServer.cpp:211: listener->didRequestAsyncCallFrames(currentCallFrame()); On 2013/12/03 13:41:08, ...
7 years ago (2013-12-04 12:45:46 UTC) #16
yurys
https://codereview.chromium.org/74063002/diff/310001/LayoutTests/http/tests/inspector/debugger-test.js File LayoutTests/http/tests/inspector/debugger-test.js (right): https://codereview.chromium.org/74063002/diff/310001/LayoutTests/http/tests/inspector/debugger-test.js#newcode157 LayoutTests/http/tests/inspector/debugger-test.js:157: asyncStackTrace = asyncStackTrace.asyncStackTrace; initiatorStackTrace would be a better name ...
7 years ago (2013-12-04 15:25:51 UTC) #17
aandrey
PTAL https://codereview.chromium.org/74063002/diff/310001/LayoutTests/http/tests/inspector/debugger-test.js File LayoutTests/http/tests/inspector/debugger-test.js (right): https://codereview.chromium.org/74063002/diff/310001/LayoutTests/http/tests/inspector/debugger-test.js#newcode157 LayoutTests/http/tests/inspector/debugger-test.js:157: asyncStackTrace = asyncStackTrace.asyncStackTrace; On 2013/12/04 15:25:52, yurys wrote: ...
7 years ago (2013-12-04 15:57:25 UTC) #18
yurys
https://codereview.chromium.org/74063002/diff/310001/LayoutTests/http/tests/inspector/debugger-test.js File LayoutTests/http/tests/inspector/debugger-test.js (right): https://codereview.chromium.org/74063002/diff/310001/LayoutTests/http/tests/inspector/debugger-test.js#newcode157 LayoutTests/http/tests/inspector/debugger-test.js:157: asyncStackTrace = asyncStackTrace.asyncStackTrace; On 2013/12/04 15:57:26, aandrey wrote: > ...
7 years ago (2013-12-05 11:37:47 UTC) #19
aandrey
PTAL. https://codereview.chromium.org/74063002/diff/310001/LayoutTests/http/tests/inspector/debugger-test.js File LayoutTests/http/tests/inspector/debugger-test.js (right): https://codereview.chromium.org/74063002/diff/310001/LayoutTests/http/tests/inspector/debugger-test.js#newcode157 LayoutTests/http/tests/inspector/debugger-test.js:157: asyncStackTrace = asyncStackTrace.asyncStackTrace; On 2013/12/05 11:37:48, yurys wrote: ...
7 years ago (2013-12-05 13:03:39 UTC) #20
yurys
lgtm
7 years ago (2013-12-05 13:28:16 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/aandrey@chromium.org/74063002/340001
7 years ago (2013-12-05 13:30:41 UTC) #22
commit-bot: I haz the power
Change committed as 163266
7 years ago (2013-12-05 14:59:24 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/aandrey@chromium.org/74063002/360001
7 years ago (2013-12-06 15:29:02 UTC) #24
commit-bot: I haz the power
7 years ago (2013-12-06 17:40:52 UTC) #25
Message was sent while issue was closed.
Change committed as 163353

Powered by Google App Engine
This is Rietveld 408576698