OLD | NEW |
1 # Dart VM Service Protocol 3.3 | 1 # Dart VM Service Protocol 3.3 |
2 | 2 |
3 > Please post feedback to the [observatory-discuss group][discuss-list] | 3 > Please post feedback to the [observatory-discuss group][discuss-list] |
4 | 4 |
5 This document describes of _version 3.3_ of the Dart VM Service Protocol. This | 5 This document describes of _version 3.3_ of the Dart VM Service Protocol. This |
6 protocol is used to communicate with a running Dart Virtual Machine. | 6 protocol is used to communicate with a running Dart Virtual Machine. |
7 | 7 |
8 To use the Service Protocol, start the VM with the *--observe* flag. | 8 To use the Service Protocol, start the VM with the *--observe* flag. |
9 The VM will start a webserver which services protocol requests via WebSocket. | 9 The VM will start a webserver which services protocol requests via WebSocket. |
10 It is possible to make HTTP (non-WebSocket) requests, | 10 It is possible to make HTTP (non-WebSocket) requests, |
(...skipping 754 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
765 | 765 |
766 The _streamId_ parameter may have the following published values: | 766 The _streamId_ parameter may have the following published values: |
767 | 767 |
768 streamId | event types provided | 768 streamId | event types provided |
769 -------- | ----------- | 769 -------- | ----------- |
770 VM | VMUpdate | 770 VM | VMUpdate |
771 Isolate | IsolateStart, IsolateRunnable, IsolateExit, IsolateUpdate, ServiceExte
nsionAdded | 771 Isolate | IsolateStart, IsolateRunnable, IsolateExit, IsolateUpdate, ServiceExte
nsionAdded |
772 Debug | PauseStart, PauseExit, PauseBreakpoint, PauseInterrupted, PauseException
, Resume, BreakpointAdded, BreakpointResolved, BreakpointRemoved, Inspect, None | 772 Debug | PauseStart, PauseExit, PauseBreakpoint, PauseInterrupted, PauseException
, Resume, BreakpointAdded, BreakpointResolved, BreakpointRemoved, Inspect, None |
773 GC | GC | 773 GC | GC |
774 Extension | Extension | 774 Extension | Extension |
| 775 Timeline | TimelineEvents |
775 | 776 |
776 Additionally, some embedders provide the _Stdout_ and _Stderr_ | 777 Additionally, some embedders provide the _Stdout_ and _Stderr_ |
777 streams. These streams allow the client to subscribe to writes to | 778 streams. These streams allow the client to subscribe to writes to |
778 stdout and stderr. | 779 stdout and stderr. |
779 | 780 |
780 streamId | event types provided | 781 streamId | event types provided |
781 -------- | ----------- | 782 -------- | ----------- |
782 Stdout | WriteEvent | 783 Stdout | WriteEvent |
783 Stderr | WriteEvent | 784 Stderr | WriteEvent |
784 | 785 |
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1206 // The extension event kind. | 1207 // The extension event kind. |
1207 // | 1208 // |
1208 // This is provided for the Extension event. | 1209 // This is provided for the Extension event. |
1209 string extensionKind [optional]; | 1210 string extensionKind [optional]; |
1210 | 1211 |
1211 // The extension event data. | 1212 // The extension event data. |
1212 // | 1213 // |
1213 // This is provided for the Extension event. | 1214 // This is provided for the Extension event. |
1214 ExtensionData extensionData [optional]; | 1215 ExtensionData extensionData [optional]; |
1215 | 1216 |
| 1217 // An array of TimelineEvents |
| 1218 // |
| 1219 // This is provided for the TimelineEvents event. |
| 1220 TimelineEvent[] timelineEvents [optional]; |
| 1221 |
1216 // Is the isolate paused at an await, yield, or yield* statement? | 1222 // Is the isolate paused at an await, yield, or yield* statement? |
1217 // | 1223 // |
1218 // This is provided for the event kinds: | 1224 // This is provided for the event kinds: |
1219 // PauseBreakpoint | 1225 // PauseBreakpoint |
1220 // PauseInterrupted | 1226 // PauseInterrupted |
1221 bool atAsyncSuspension [optional]; | 1227 bool atAsyncSuspension [optional]; |
1222 } | 1228 } |
1223 ``` | 1229 ``` |
1224 | 1230 |
1225 An _Event_ is an asynchronous notification from the VM. It is delivered | 1231 An _Event_ is an asynchronous notification from the VM. It is delivered |
(...skipping 1132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2358 | 2364 |
2359 ### Success | 2365 ### Success |
2360 | 2366 |
2361 ``` | 2367 ``` |
2362 class Success extends Response { | 2368 class Success extends Response { |
2363 } | 2369 } |
2364 ``` | 2370 ``` |
2365 | 2371 |
2366 The _Success_ type is used to indicate that an operation completed successfully. | 2372 The _Success_ type is used to indicate that an operation completed successfully. |
2367 | 2373 |
| 2374 ### TimelineEvent |
| 2375 |
| 2376 ``` |
| 2377 class TimelineEvent { |
| 2378 } |
| 2379 ``` |
| 2380 |
| 2381 An _TimelineEvent_ is an arbitrary map that contains a [Trace Event Format](http
s://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/prev
iew) event. |
| 2382 |
2368 ### TypeArguments | 2383 ### TypeArguments |
2369 | 2384 |
2370 ``` | 2385 ``` |
2371 class @TypeArguments extends @Object { | 2386 class @TypeArguments extends @Object { |
2372 // A name for this type argument list. | 2387 // A name for this type argument list. |
2373 string name; | 2388 string name; |
2374 } | 2389 } |
2375 ``` | 2390 ``` |
2376 | 2391 |
2377 _@TypeArguments_ is a reference to a _TypeArguments_ object. | 2392 _@TypeArguments_ is a reference to a _TypeArguments_ object. |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2488 version | comments | 2503 version | comments |
2489 ------- | -------- | 2504 ------- | -------- |
2490 1.0 | initial revision | 2505 1.0 | initial revision |
2491 2.0 | Describe protocol version 2.0. | 2506 2.0 | Describe protocol version 2.0. |
2492 3.0 | Describe protocol version 3.0. Added UnresolvedSourceLocation. Added Sen
tinel return to getIsolate. Add AddedBreakpointWithScriptUri. Removed Isolate.
entry. The type of VM.pid was changed from string to int. Added VMUpdate events
. Add offset and count parameters to getObject() and offset and count fields to
Instance. Added ServiceExtensionAdded event. | 2507 3.0 | Describe protocol version 3.0. Added UnresolvedSourceLocation. Added Sen
tinel return to getIsolate. Add AddedBreakpointWithScriptUri. Removed Isolate.
entry. The type of VM.pid was changed from string to int. Added VMUpdate events
. Add offset and count parameters to getObject() and offset and count fields to
Instance. Added ServiceExtensionAdded event. |
2493 3.1 | Add the getSourceReport RPC. The getObject RPC now accepts offset and cou
nt for string objects. String objects now contain length, offset, and count pro
perties. | 2508 3.1 | Add the getSourceReport RPC. The getObject RPC now accepts offset and cou
nt for string objects. String objects now contain length, offset, and count pro
perties. |
2494 3.2 | Isolate objects now include the runnable bit and many debugger related RPC
s will return an error if executed on an isolate before it is runnable. | 2509 3.2 | Isolate objects now include the runnable bit and many debugger related RPC
s will return an error if executed on an isolate before it is runnable. |
2495 3.3 | Pause event now indicates if the isolate is paused at an await, yield, or
yield* suspension point via the 'atAsyncSuspension' field. Resume command now su
pports the step parameter 'OverAsyncSuspension'. A Breakpoint added syntheticall
y by an 'OverAsyncSuspension' resume command identifies itself as such via the '
isSyntheticAsyncContinuation' field. | 2510 3.3 | Pause event now indicates if the isolate is paused at an await, yield, or
yield* suspension point via the 'atAsyncSuspension' field. Resume command now su
pports the step parameter 'OverAsyncSuspension'. A Breakpoint added syntheticall
y by an 'OverAsyncSuspension' resume command identifies itself as such via the '
isSyntheticAsyncContinuation' field. |
2496 | 2511 |
2497 [discuss-list]: https://groups.google.com/a/dartlang.org/forum/#!forum/observato
ry-discuss | 2512 [discuss-list]: https://groups.google.com/a/dartlang.org/forum/#!forum/observato
ry-discuss |
OLD | NEW |