| 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 |