OLD | NEW |
1 # Dart VM Service Protocol 2.0 | 1 # Dart VM Service Protocol 2.0 |
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 2.0_ of the Dart VM Service Protocol. This | 5 This document describes of _version 2.0_ 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 602 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
613 The _streamListen_ RPC subscribes to a stream in the VM. Once | 613 The _streamListen_ RPC subscribes to a stream in the VM. Once |
614 subscribed, the client will begin receiving events from the stream. | 614 subscribed, the client will begin receiving events from the stream. |
615 | 615 |
616 If the client is not subscribed to the stream, the _103_ (Stream already | 616 If the client is not subscribed to the stream, the _103_ (Stream already |
617 subscribed) error code is returned. | 617 subscribed) error code is returned. |
618 | 618 |
619 The _streamId_ parameter may have the following published values: | 619 The _streamId_ parameter may have the following published values: |
620 | 620 |
621 streamId | event types provided | 621 streamId | event types provided |
622 -------- | ----------- | 622 -------- | ----------- |
623 Isolate | IsolateStart, IsolateExit, IsolateUpdate | 623 Isolate | IsolateStart, IsolateRunnable, IsolateExit, IsolateUpdate |
624 Debug | PauseStart, PauseExit, PauseBreakpoint, PauseInterrupted, PauseException
, Resume, BreakpointAdded, BreakpointResolved, BreakpointRemoved, Inspect | 624 Debug | PauseStart, PauseExit, PauseBreakpoint, PauseInterrupted, PauseException
, Resume, BreakpointAdded, BreakpointResolved, BreakpointRemoved, Inspect |
625 GC | GC | 625 GC | GC |
626 | 626 |
627 Additionally, some embedders provide the _Stdout_ and _Stderr_ | 627 Additionally, some embedders provide the _Stdout_ and _Stderr_ |
628 streams. These streams allow the client to subscribe to writes to | 628 streams. These streams allow the client to subscribe to writes to |
629 stdout and stderr. | 629 stdout and stderr. |
630 | 630 |
631 streamId | event types provided | 631 streamId | event types provided |
632 -------- | ----------- | 632 -------- | ----------- |
633 Stdout | WriteEvent | 633 Stdout | WriteEvent |
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1019 | 1019 |
1020 For more information, see [events](#events). | 1020 For more information, see [events](#events). |
1021 | 1021 |
1022 ### EventKind | 1022 ### EventKind |
1023 | 1023 |
1024 ``` | 1024 ``` |
1025 enum EventKind { | 1025 enum EventKind { |
1026 // Notification that a new isolate has started. | 1026 // Notification that a new isolate has started. |
1027 IsolateStart, | 1027 IsolateStart, |
1028 | 1028 |
| 1029 // Notification that an isolate is ready to run. |
| 1030 IsolateRunnable, |
| 1031 |
1029 // Notification that an isolate has exited. | 1032 // Notification that an isolate has exited. |
1030 IsolateExit, | 1033 IsolateExit, |
1031 | 1034 |
1032 // Notification that isolate identifying information has changed. | 1035 // Notification that isolate identifying information has changed. |
1033 // Currently used to notify of changes to the isolate debugging name | 1036 // Currently used to notify of changes to the isolate debugging name |
1034 // via setName. | 1037 // via setName. |
1035 IsolateUpdate, | 1038 IsolateUpdate, |
1036 | 1039 |
1037 // An isolate has paused at start, before executing code. | 1040 // An isolate has paused at start, before executing code. |
1038 PauseStart, | 1041 PauseStart, |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1583 string number; | 1586 string number; |
1584 | 1587 |
1585 // A name identifying this isolate. Not guaranteed to be unique. | 1588 // A name identifying this isolate. Not guaranteed to be unique. |
1586 string name; | 1589 string name; |
1587 | 1590 |
1588 // The time that the VM started in milliseconds since the epoch. | 1591 // The time that the VM started in milliseconds since the epoch. |
1589 // | 1592 // |
1590 // Suitable to pass to DateTime.fromMillisecondsSinceEpoch. | 1593 // Suitable to pass to DateTime.fromMillisecondsSinceEpoch. |
1591 int startTime; | 1594 int startTime; |
1592 | 1595 |
1593 // The entry function for this isolate. | |
1594 @Function entry [optional]; | |
1595 | |
1596 // The number of live ports for this isolate. | 1596 // The number of live ports for this isolate. |
1597 int livePorts; | 1597 int livePorts; |
1598 | 1598 |
1599 // Will this isolate pause when exiting? | 1599 // Will this isolate pause when exiting? |
1600 bool pauseOnExit; | 1600 bool pauseOnExit; |
1601 | 1601 |
1602 // The last pause event delivered to the isolate. If the isolate is | 1602 // The last pause event delivered to the isolate. If the isolate is |
1603 // running, this will be a resume event. | 1603 // running, this will be a resume event. |
1604 Event pauseEvent; | 1604 Event pauseEvent; |
1605 | 1605 |
1606 // The error that is causing this isolate to exit, if applicable. | 1606 // The entry function for this isolate. |
1607 Error error [optional]; | 1607 // |
| 1608 // Guaranteed to be initialized when the IsolateRunnable event fires. |
| 1609 @Function entry [optional]; |
1608 | 1610 |
1609 // The root library for this isolate. | 1611 // The root library for this isolate. |
1610 @Library rootLib; | 1612 // |
| 1613 // Guaranteed to be initialized when the IsolateRunnable event fires. |
| 1614 @Library rootLib [optional]; |
1611 | 1615 |
1612 // A list of all libraries for this isolate. | 1616 // A list of all libraries for this isolate. |
| 1617 // |
| 1618 // Guaranteed to be initialized when the IsolateRunnable event fires. |
1613 @Library[] libraries; | 1619 @Library[] libraries; |
1614 | 1620 |
1615 // A list of all breakpoints for this isolate. | 1621 // A list of all breakpoints for this isolate. |
1616 Breakpoint[] breakpoints; | 1622 Breakpoint[] breakpoints; |
| 1623 |
| 1624 // The error that is causing this isolate to exit, if applicable. |
| 1625 Error error [optional]; |
1617 } | 1626 } |
1618 ``` | 1627 ``` |
1619 | 1628 |
1620 An _Isolate_ object provides information about one isolate in the VM. | 1629 An _Isolate_ object provides information about one isolate in the VM. |
1621 | 1630 |
1622 ### Library | 1631 ### Library |
1623 | 1632 |
1624 ``` | 1633 ``` |
1625 class @Library extends @Object { | 1634 class @Library extends @Object { |
1626 // The name of this library. | 1635 // The name of this library. |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1999 ``` | 2008 ``` |
2000 | 2009 |
2001 ## Revision History | 2010 ## Revision History |
2002 | 2011 |
2003 version | comments | 2012 version | comments |
2004 ------- | -------- | 2013 ------- | -------- |
2005 1.0 draft 1 | initial revision | 2014 1.0 draft 1 | initial revision |
2006 | 2015 |
2007 | 2016 |
2008 [discuss-list]: https://groups.google.com/a/dartlang.org/forum/#!forum/observato
ry-discuss | 2017 [discuss-list]: https://groups.google.com/a/dartlang.org/forum/#!forum/observato
ry-discuss |
OLD | NEW |