thlorenz / v8-perf

⏱️ Notes and resources related to v8 and thus Node.js performance
2.2k stars 112 forks source link

Resources related to the Devtools/Chromium/v8 Debugger/Profiler ... #8

Open thlorenz opened 9 years ago

thlorenz commented 9 years ago
thlorenz commented 9 years ago

DevTools IPC description found inside devtools_messages.h

Developer tools consist of the following parts:

DevToolsAgent lives in the renderer of an inspected page and provides access
to the pages resources, DOM, v8 etc. by means of IPC messages.

DevToolsClient is a thin delegate that lives in the tools front-end
renderer and converts IPC messages to frontend method calls and allows the
frontend to send messages to the DevToolsAgent.

All the messages are routed through browser process. There is a
DevToolsManager living in the browser process that is responsible for
routing logistics. It is also capable of sending direct messages to the
agent rather than forwarding messages between agents and clients only.

Chain of communication between the components may be described by the
following diagram:
 ----------------------------
| (tools frontend            |
| renderer process)          |
|                            |            --------------------
|tools    <--> DevToolsClient+<-- IPC -->+ (browser process)  |
|frontend                    |           |                    |
 ----------------------------             ---------+----------
                                                   ^
                                                   |
                                                  IPC
                                                   |
                                                   v
                         --------------------------+--------
                        | inspected page <--> DevToolsAgent |
                        |                                   |
                        | (inspected page renderer process) |
                         -----------------------------------