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

Issue 942113004: Telemetry: Refactor inspector_websocket to create cleaner interface. (Closed)

Created:
5 years, 10 months ago by erikchen
Modified:
5 years, 10 months ago
Reviewers:
nednguyen, slamm, sullivan
CC:
chromium-reviews, telemetry-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Telemetry: Refactor inspector_websocket to create cleaner interface. This CL contains several improvements which are tightly coupled. - The method DispatchNotificationsUntilDone is only used by tracing_backend. I moved all the logic into tracing_backend. This has several side effects: - The exception DispatchNotificationsUntilDone is no longer needed. - The method _Receive no longer handles exceptions. It used to handle some, but not all exceptions. This change is very important for sane exception handling of the Chrome/Telemetry bindings. - The method _HandleNotification never has a return value. It used to sometimes return a boolean, and sometimes return nothing. - I removed the member _error_handler. This member was only used in two places: inspector_backend and tracing_backend. Of these two places, tracing_backend only used it to emit a not-so-useful log statement. - The biggest problem with _error_handler is that it decouples the exception handling from the context of the try/catch loop that triggered the exception. - The _error_handler only was called during _Receive(). This is very confusing, since that is not the only method that raises Exceptions. So some exceptions get handled by _error_handler, and some do not. :( - I removed all exception handling from inspector_page.py and inspector_websocket.py. It used to be that some exceptions would be handled in inspector_websocket, some would trickle up to inspector_page, and some would trickle out past inspector_backend.py. The eventual goal is for inspector_backend to catch all exceptions and translate them into {Recoverable/Unrecoverable}Exceptions. BUG=460625 Committed: https://crrev.com/64cf2ab4a6a348954d46d9d758c5be53aa1c1220 Cr-Commit-Position: refs/heads/master@{#317972}

Patch Set 1 : #

Total comments: 33

Patch Set 2 : Comments from slamm. #

Messages

Total messages: 22 (8 generated)
erikchen
nednguyen: Please review. Let me know if you have any high level questions. https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py File ...
5 years, 10 months ago (2015-02-23 23:01:50 UTC) #5
nednguyen
Is it possible to split up this patch into smaller ones for the ease of ...
5 years, 10 months ago (2015-02-24 04:52:54 UTC) #6
erikchen
On 2015/02/24 04:52:54, nednguyen wrote: > Is it possible to split up this patch into ...
5 years, 10 months ago (2015-02-24 19:12:10 UTC) #8
nednguyen
Except this comment, the rest looks solid to me. https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py File tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py (right): https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py#newcode131 tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py:131: ...
5 years, 10 months ago (2015-02-24 19:50:46 UTC) #9
erikchen
https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py File tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py (right): https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py#newcode131 tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py:131: except (socket.error, websocket.WebSocketException) as e: On 2015/02/24 19:50:46, nednguyen ...
5 years, 10 months ago (2015-02-24 21:08:53 UTC) #10
nednguyen
lgtm slamm@ can you take another pass as this? https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py File tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py (right): https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py#newcode131 tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py:131: ...
5 years, 10 months ago (2015-02-24 21:28:49 UTC) #12
slamm
This is a nice cleanup. I have found this code confusing in the past. https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py ...
5 years, 10 months ago (2015-02-25 00:26:55 UTC) #13
nednguyen
https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py File tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py (right): https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py#newcode96 tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_backend.py:96: def Screenshot(self, timeout): On 2015/02/25 00:26:54, slamm wrote: > ...
5 years, 10 months ago (2015-02-25 00:38:59 UTC) #14
erikchen
slamm: PTAL https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_page.py File tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_page.py (right): https://codereview.chromium.org/942113004/diff/60001/tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_page.py#newcode14 tools/telemetry/telemetry/core/backends/chrome_inspector/inspector_page.py:14: inspector_websocket exceptions must be handled by the ...
5 years, 10 months ago (2015-02-25 01:07:20 UTC) #15
slamm
lgtm
5 years, 10 months ago (2015-02-25 01:59:31 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/942113004/80001
5 years, 10 months ago (2015-02-25 02:01:50 UTC) #19
commit-bot: I haz the power
Committed patchset #2 (id:80001)
5 years, 10 months ago (2015-02-25 04:56:51 UTC) #20
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/64cf2ab4a6a348954d46d9d758c5be53aa1c1220 Cr-Commit-Position: refs/heads/master@{#317972}
5 years, 10 months ago (2015-02-25 04:57:35 UTC) #21
nednguyen
5 years, 10 months ago (2015-02-26 02:13:58 UTC) #22
Message was sent while issue was closed.
A revert of this CL (patchset #2 id:80001) has been created in
https://codereview.chromium.org/962443002/ by nednguyen@google.com.

The reason for reverting is: This possibly is causing chrome tracing data
leakage (https://code.google.com/p/chromium/issues/detail?id=461874)..

Powered by Google App Engine
This is Rietveld 408576698