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

Unified Diff: runtime/vm/service/service.idl

Issue 1159553006: Add service.md. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/service/protocol.md ('k') | runtime/vm/service/service.md » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/service/service.idl
diff --git a/runtime/vm/service/service.idl b/runtime/vm/service/service.idl
deleted file mode 100644
index ec83f2159854796b14e8fd1447bcf1f3da90c5a2..0000000000000000000000000000000000000000
--- a/runtime/vm/service/service.idl
+++ /dev/null
@@ -1,1140 +0,0 @@
-// <h2>Connecting to the VM Service</h2>
-//
-// TODO(turnidge): Describe how to connect, etc.
-//
-// <h2>Types</h2>
-//
-// Every non-error response returned by the VM Service has the
-// <code>type</code> property. This allows the client distinguish
-// between different kinds of responses.
-//
-// If the type name of a response begins with an <code>@</code>
-// character then that response is a _reference_. If the type name of
-// a response does not begin with an <code>@</code> character then
-// that response is an _object_ (or sometimes _full object_). A
-// reference is meant to be a subset of a full object with just enough
-// information for the client to generate a reasonable-looking link.
-//
-// For example, an isolate reference may look like this...
-//
-// {
-// type: "@Isolate",
-// id: "isolates/123",
-// name: "worker"
-// }
-//
-// ... and a full isolate object would have additional properties:
-//
-// {
-// type: "Isolate",
-// id: "isolates/123",
-// name: "worker"
-// entry: ...
-// heaps: ...
-// topFrame: ...
-// ...
-// }
-//
-// <h2>IDs and Names</h2>
-//
-// Many responses returned by the VM Service have an <code>id</code>
-// property. This is an identifier used to request an object from an
-// isolate using the <code>getObject</code> rpc. If two responses
-// have the same id then they refer to the same object. The converse
-// is not true: the same object may occasionally be returned with two
-// different ids.
-//
-// The client must not parse ids -- they must be treated as opaque
-// strings. We reserve the right to change the ids of objects.
-//
-// TODO(turnidge): Describe id/handle expiration. Provide guidance on
-// which responses are cacheable/constant. Perhaps this needs to be
-// signaled in the Response itself.
-//
-// Many responses have the <code>name</code> property. Names are
-// provided so that objects can be displayed in a way that a Dart
-// language programmer would find sensible.
-//
-// Note that names are not unique. Many objects will have the same
-// name.
-//
-// <h2>Private Properties</h2>
-//
-// Some properties returned by the VM Service begin with an underscore
-// (&#95;) character. These properties are called _private
-// properties_. Private properties provide private information
-// specific to the VM's implementation. Private properties may be
-// added, removed, or changed at any time with any release of the VM.
-// They are provided for those tools that need this level of internal
-// access, such as the Observatory.
-//
-// For example, some responses will have the <code>_vmType</code>
-// property. This provides the VM-internal type name of an object,
-// and is provided only when this type name differs from the
-// <code>type</code> property.
-//
-// <b>If your application relies on private properties, you should expect
-// to update it when new versions of the VM are released.</b>
-//
-// <hr>
-
-interface Service {
- // Returns global information about the Dart VM.
- getVM() VM
-
- // Changes the debugging name for some isolate.
- setName(isolateId string, name string) Response
-
- // Returns information about an isolate.
- getIsolate(isolateId string) Isolate
-
- // Returns a list of vm flags and their values.
- getFlagList() FlagList
-
- // Sets the value of a vm flag
- setFlag(name string, value string) Response
-
- // Loads an object by id from an isolate.
- getObject(isolateId string, objectId string) Object
-
- // The response is a subtype of Object or ObjectRef.
- getObjectByAddress(address string, ref bool) Response
-
- // Adds a breakpoint at the specified line.
- //
- // TODO(turnidge): Make line an int instead of a string.
- addBreakpoint(isolateId string,
- scriptId string,
- line string) Breakpoint
-
- // Adds a breakpoint at the entrypoint of the specified function.
- addBreakpointAtEntry(isolateId string,
- functionId string) Breakpoint
-
- // Removes the specified breakpoint
- removeBreakpoint(isolateId string, breakpointId string) Response
-
- // Requests that an isolate pause execution.
- pause(isolateId string) Response
-
- // Requests that an isolate resume execution.
- //
- // <code>step</code> is optional and indicates whether execution
- // should single-step.
- resume(isolateId string, step StepOption) Response
-
- // Evaluate an expression in the context of some target.
- eval(isolateId string, targetId string, expression string) InstanceRef
-
- // Returns the current execution stack for an isolate.
- //
- // _full is an optional private parameter.
- getStack(isolateId string, _full bool) Stack
-
- // Returns code coverage information for a library, script, class,
- // or function.
- getCoverage(isolateId string, targetId string) CodeCoverage
-
- // Returns call site cache information for a function.
- _getCallSiteData(isolateId string, targetId string) _CallSiteData
-
- // Returns a full cpu profile for an isolate.
- //
- // <code>tagSelector</code> is optional with default 'UserVM'.
- getCpuProfile(isolateId string, tags TagSelector) CpuProfile
-
-
- // Returns a simple tag-based profile for an isolate.
- getTagProfile(isolateId string) TagProfile
-
- // Returns an allocation profile for an isolate.
- //
- // <code>reset</code> is optional and indicates whether allocation
- // accumulators should be reset.
- //
- // <code>gc</code> is optional and indicates whether a full
- _getAllocationProfile(isolateId string,
- reset bool,
- gc GCOption) AllocationProfile
-
- // Returns the heap map for an isolate.
- getHeapMap(isolateId string) HeapMap
-
- // Returns how many bytes are retained by some target Class or Instance.
- _getRetainedSize(isolateId string, targetId string) InstanceRef
-
- // Returns a path demonstrating why an object is retained in memory.
- //
- // TODO(turnidge): Make limit an int instead of a string.
- _getRetainingPath(isolateId string,
- targetId string,
- limit int) RetainingPath
-
- // Returns a collection of inbound references to some object.
- //
- // TODO(turnidge): Make limit an int instead of a string.
- _getInboundReferences(isolateId string,
- targetId string,
- limit int) InboundReferences
-
- _getInstances(isolateId string,
- classId string,
- limit int) InstanceSet
-
- getClassList(isolateId string) ClassList
-
- // When <code>onlyWithInstantiations</code> is true, the list only includes
- // type arguments with instantiations. Otherwise, all type arguments are
- // returned.
- getTypeArgumentsList(isolateId string,
- onlyWithInstantiations bool) TypeArgumentsList
-
- // Gets a list of isolate metrics.
- getIsolateMetricList(isolateId string,
- type MetricSelector) MetricList
-
- // Gets a specific isolate metric by id.
- getIsolateMetric(isolateId string,
- metricId string) Metric
-
- // Gets a list of vm metrics.
- getVMMetricList() MetricList
-
- // Gets a specific vm metric by id.
- getVMMetric(metricId string) Metric
-
- // A test rpc for vm requests.
- _echoVM(text string) _EchoResponse
-
- // A test rpc for isolate requests.
- _echo(isolateId string,
- text string) _EchoResponse
-
- // Triggers a ServiceEvent with EventType '_Echo'.
- _triggerEchoEvent(isolateId string,
- text string) _EchoResponse
-
- // Response is bad JSON.
- _respondWithMalformedJson(isolateId string) Response
-
- // Response is not an object.
- _respondWithMalformedObject(isolateId string) Response
-}
-
-
-// Every non-error top level response returned by the Service
-// interface extends <code>Response</code>. This allows the client to
-// distinguish between different kinds of responses by using the
-// <code>type</code> property.
-struct Response {
- // Every response returned by the VM Service has the
- // <code>type</code> property. This allows the client distinguish
- // between different kinds of responses.
- type string
-
- // Some responses will have the <code>_vmType</code> property. This
- // provides the VM-internal type name of an object, and is provided
- // only when this type name differs from the <code>type</code>
- // property.
- _vmType string [optional]
-}
-
-
-// An asynchronous notification from the VM Service.
-struct ServiceEvent extends Response {
- // What kind of event is this?
- eventType ServiceEventType
-
- // The isolate with which this event is associated.
- isolate IsolateRef
-
- // The breakpoint associated with this event, if applicable.
- //
- // This is provided for the events:
- // <code>PauseBreakpoint</code>
- // <code>BreakpointAdded</code>
- // <code>BreakpointRemoved</code>
- // <code>BreakpointResolved</code>
- breakpoint Breakpoint [optional]
-
- // The top stack frame associated with this event, if applicable.
- //
- // This is provided for the events:
- // <code>PauseBreakpoint</code>
- // <code>PauseInterrupted</code>
- // <code>PauseException</code>
- //
- // For the <code>Resume</code> event, the top frame is provided at
- // all times except for the initial resume event that is delivered
- // when an isolate begins execution.
- topFrame Frame [optional]
-
- // The exception associated with this event, if this is a
- // <code>PauseException</code> event.
- exception InstanceRef [optional]
-}
-
-
-// The type of a service event.
-enum ServiceEventType {
- // Notification that a new isolate has started.
- IsolateStart
-
- // Notification that an isolate has exited.
- IsolateExit
-
- // Notification that isolate identifying information has changed.
- // Currently used to notify of changes to the isolate debugging name
- // via <code>setName</code>.
- IsolateUpdate
-
- // An isolate has paused at start, before executing code.
- PauseStart
-
- // An isolate has paused at exit, before terminating.
- PauseExit
-
- // An isolate has paused at a breakpoint or due to stepping.
- PauseBreakpoint
-
- // An isolate has paused due to interruption via <code>pause</code>.
- PauseInterrupted
-
- // An isolate has paused due to an exception.
- //
- // TODO(turnidge): Allow user to toggle pause-on-exceptions.
- PauseException
-
- // An isolate has started or resumed execution.
- Resume
-
- // A breakpoint has been added for an isolate.
- BreakpointAdded
-
- // An unresolved breakpoint has been resolved for an isolate.
- BreakpointResolved
-
- // A breakpoint has been removed.
- BreakpointRemoved
-
- // A garbage collection event.
- GC
-
- // The object graph is being delivered. This is triggered via
- // <code>requestHeapSnapshot</code>.
- _Graph
-}
-
-
-struct VM extends Response {
- // Word length on target architecture (e.g. 32, 64).
- architectureBits int
-
- // The CPU we are generating code for.
- targetCPU string
-
- // The CPU we are actually running on.
- hostCPU string
-
- // The Dart VM version string.
- version string
-
- // The process id for the VM.
- pid string
-
- // The time that the VM started in milliseconds since the epoch.
- //
- // Suitable to pass to DateTime.fromMillisecondsSinceEpoch.
- startTime int
-
- // A list of isolates running in the VM.
- isolates []IsolateRef
-
- // Are assertions enabled in the VM?
- //
- // TODO(turnidge): Move to some sort of general settings list?
- _assertsEnabled bool
-
- // Are type checks enabled in the VM?
- //
- // TODO(turnidge): Move to some sort of general settings list?
- _typeChecksEnabled bool
-}
-
-
-// A reference to an an isolate.
-struct IsolateRef extends Object {
- // A numeric id for this isolate, represented as a string. Unique.
- number string
-
- // A name identifying this isolate. Not guaranteed to be unique.
- name string
-}
-
-
-// An isolate running in the VM.
-struct Isolate {
- // A numeric id for this isolate, represented as a string. Unique.
- number string
-
- // A name identifying this isolate. Not guaranteed to be unique.
- name string
-
- // The time that the VM started in milliseconds since the epoch.
- //
- // Suitable to pass to DateTime.fromMillisecondsSinceEpoch.
- startTime int
-
- // The entry function for this isolate.
- entry FunctionRef [optional]
-
- // The number of live ports for this isolate.
- livePorts int
-
- // Will this isolate pause when exiting?
- pauseOnExit bool
-
- // The last pause event delivered to the isolate. If the isolate is
- // running, this will be a resume event.
- pauseEvent ServiceEvent
-
- // The error that is causing this isolate to exit, if applicable.
- error Error [optional]
-
- // The root library for this isolate.
- rootLib LibraryRef
-
- // A list of all libraries for this isolate.
- libraries []LibraryRef
-
- // A list of all breakpoints for this isolate.
- breakpoints []Breakpoint
-
- // A list of features enabled for this isolate.
- features []string
-
- // TODO
- heaps int
-
- // TODO
- tagCounters int
-}
-
-
-// A list of flags.
-struct FlagList extends Response {
- // A list of all flags which are set to default values.
- unmodifiedFlags []Flag
-
- // A list of all flags which have been modified by the user.
- modifiedFlags []Flag
-}
-
-
-// A single flag.
-struct Flag {
- // The name of the flag.
- name string
-
- // A description of the flag.
- comment string
-
- // The type of the flag.
- flagType FlagType
-}
-
-
-// The type of a flag.
-enum FlagType {
- bool
- int
- uint64_t
- string
-}
-
-
-// A reference to a persistent object that lives in some isolate.
-struct ObjectRef extends Response {
- // A unique identifier for an object. Passed to
- // <code>getObject</code> to load the full object.
- id string
-}
-
-
-// A persistent object that lives in some isolate.
-struct Object extends Response {
- // A unique identifier for this object.
- id string
-}
-
-
-// TODO(turnidge): null type
-// TODO(turnidge): VMObject.
-
-
-// A reference to a Dart language library.
-struct LibraryRef extends ObjectRef {
- // The name of this library.
- name string
-
- // The url of this library.
- url string
-}
-
-
-// A Dart language library.
-struct Library extends Object {
- // The name of this library.
- name string
-
- // The url of this library.
- url string
-
- // A list of the imports for this library.
- imports []LibraryRef
-
- // A list of the scripts which constitute this library.
- scripts []ScriptRef
-
- // A list of the top-level variables in this library.
- variables []FieldRef
-
- // A list of the top-level functions in this library.
- functions []FunctionRef
-
- // A list of all classes in this library.
- classes []ClassRef
-}
-
-
-// A reference to a Dart language script.
-struct ScriptRef extends ObjectRef {
- // A name for this script.
- name string
-
- // What kind of script is this?
- kind ScriptKind
-}
-
-
-// A Dart language script.
-struct Script extends Object {
- // A name for this script.
- name string
-
- // What kind of script is this?
- kind ScriptKind
-
- // The library which owns this script.
- library LibraryRef
-
- // The source code for this script. For certain built-in scripts,
- // this may be reconstructed without source comments.
- source string
-
- // A table encoding a mapping from token position to line and column.
- //
- // Each entry in the array consists of a line number followed by
- // (tokenPos, columnNumber) pairs:
- //
- // [lineNumber, (tokenPos, columnNumber)*]
- //
- // For example, the following table:
- //
- // [[1, 100, 5, 101, 8],[2, 102, 7]]
- //
- // Encodes the following mapping:
- //
- // tokenPos line column
- // -------- ------ ------
- // 100 1 5
- // 101 1 8
- // 102 2 7
- //
- // TODO(turnidge): The tool I'm using does not support [][].
- // tokenPosTable [][]int
- tokenPosTable int
-}
-
-
-enum ScriptKind {
- script
- library
- source
- patch
-}
-
-
-// A reference to a Dart language class.
-struct ClassRef extends ObjectRef {
- // The name of this class.
- name string
-
- // A vm internal name, provided only when it is different than name.
- _vmName string [optional]
-}
-
-
-// A Dart language class.
-struct Class extends Object {
- // The name of this class.
- name string
-
- // A vm internal name, provided only when it is different than name.
- _vmName string [optional]
-
- // The error which occurred during class finalization, if it exists.
- error InstanceRef [optional]
-
- // Is this an abstract class?
- abstract bool
-
- // Is this a const class?
- const bool
-
- // Has this class been finalized?
- finalized bool
-
- // Is this class implemented?
- implemented bool
-
- // Is this a vm patch class?
- patch bool
-
- // The library which contains this class.
- library LibraryRef
-
- // The script which defines this class. May be missing for some
- // classes.
- script ScriptRef
-
- // The superclass of this class, if any.
- super ClassRef [optional]
-
- // A list of interface types for this class.
- interfaces []TypeRef
-
- // A list of fields in this class. Does not include fields from
- // superclasses.
- fields []FieldRef
-
- // A list of functions in this class. Does not include functions
- // from superclasses.
- functions []FunctionRef
-
- // A list of subclasses of this class.
- subclasses []ClassRef
-
- // Allocation statistics for this class, if available.
- allocationStats ClassHeapStats [optional]
-}
-
-
-struct ClassHeapStats extends Response {
- TODO int
-}
-
-
-// A reference to a Dart language field or variable.
-struct FieldRef extends ObjectRef {
- // The name of this field.
- name string
-
- // A vm internal name, provided only when it is different than name.
- _vmName string [optional]
-
- // The value of this field, if the field is static.
- value InstanceRef [optional]
-
- // The owner of this field, which can be either a LibraryRef for a
- // ClassRef.
- owner ObjectRef
-
- // The declared type of this field.
- declaredType TypeRef
-
- // Is this field const?
- const bool
-
- // Is this field final?
- final bool
-
- // Is this field static?
- static bool
-}
-
-
-// A Dart language field or variable.
-struct Field extends ObjectRef {
- // The name of this field.
- name string
-
- // A vm internal name, provided only when it is different than name.
- _vmName string [optional]
-
- // The value of this field, if the field is static.
- value InstanceRef [optional]
-
- // The owner of this field, which can be either a LibraryRef for a
- // ClassRef.
- owner ObjectRef
-
- // The declared type of this field.
- declaredType TypeRef
-
- // Is this field const?
- const bool
-
- // Is this field final?
- final bool
-
- // Is this field static?
- static bool
-
- // The script containing this feild.
- script ScriptRef [optional]
-
- // The token position of this field.
- tokenPos int [optional]
-
- // Have we seen null assigned to this field?
- _guardNullable bool
-
- // Have we seen a single class assigned to this field?
- //
- // TODO(johnmccutchan): This can actually be a string 'unknown' or
- // 'dynamic' or a ClassRef. Change how this is encoded.
- _guardClass string
-
- // Have we seen a fixed length list assigned to this field?
- //
- // TODO(johnmccutchan): This can actually be a string 'unknown' or
- // 'dynamic' or a ClassRef. Change how this is encoded.
- _guardLength string
-}
-
-
-// A reference to a Dart language function.
-struct FunctionRef extends ObjectRef {
- // The name of this function.
- name string
-
- // A vm internal name, provided only when it is different than name.
- _vmName string [optional]
-
- // The owner of this field, which can be a LibraryRef, ClassRef, or
- // a FunctionRef.
- owner ObjectRef
-
- // What kind of function is this?
- kind FunctionKind
-}
-
-
-// A Dart language function.
-struct Function extends ObjectRef {
- // The name of this function.
- name string
-
- // A vm internal name, provided only when it is different than name.
- _vmName string [optional]
-
- // What kind of function is this?
- kind FunctionKind
-
- // The owner of this field, which can be a LibraryRef, ClassRef, or
- // a FunctionRef.
- owner ObjectRef
-
- // Is this function static?
- //
- // TODO(turnidge): This is inconsistent with FieldRef.
- static bool
-
- // Is this function const?
- const bool
-
- // The script containing this function.
- script ScriptRef [optional]
-
- // The first token position of this function.
- tokenPos int [optional]
-
- // The last token position of this function.
- endTokenPos int [optional]
-
- // The compiled code associated with this function.
- code CodeRef [optional]
-
- // Are we able to generate optimized code for this function?
- _optimizable bool
-
- // Are we able to inline this function?
- _inlinable bool
-
- // The unoptimized version of this function, if retained.
- _unoptimizedCode CodeRef [optional]
-
- // An indicator of how actively this function is used.
- _usageCounter int
-
- // TODO(johnmccutchan): Document.
- _optimizedCallSiteCount int
-
- // How many times has this function been deoptimized?
- _deoptimizations int
-}
-
-
-enum FunctionKind {
- RegularFunction
- ClosureFunction
- GetterFunction
- SetterFunction
- Constructor
- ImplicitGetter
- ImplicitSetter
- ImplicitStaticFinalGetter
- IrregexpFunction
- StaticInitializer
- MethodExtractor
- NoSuchMethodDispatcher
- InvokeFieldDispatcher
- Collected
- Native
- Stub
- Tag
-}
-
-
-// A reference to a compiled code object in the Dart VM.
-struct CodeRef extends ObjectRef {
- // A name for this code object
- name string
-
- // A vm internal name, provided only when it is different than name.
- _vmName string [optional]
-
- // What kind of code object is this?
- kind CodeKind
-
- // Was this code generated using the optimizing compiler?
- _optimized bool
-}
-
-
-// A compiled code object in the Dart VM.
-struct Code extends Object {
- // A name for this code object
- name string
-
- // A vm internal name, provided only when it is different than name.
- _vmName string [optional]
-
- // What kind of code object is this?
- kind CodeKind
-
- // Was this code generated using the optimizing compiler?
- _optimized bool
-
- // The function which corresponds to this compiled code.
- function FunctionRef
-
- // The start address of the generated code as a hex string.
- _startAddress string
-
- // The end address of the generated code as a hex string.
- _endAddress string
-
- // The object pool associated with this code object.
- _objectPool UNDOCUMENTED [optional]
-
- // The disassembly of this code object.
- _disassembly UNDOCUMENTED [optional]
-
- // The pc descriptor table for this code object.
- _descriptors UNDOCUMENTED [optional]
-
- // The inlined function table for this code object.
- _inlinedFunctions UNDOCUMENTED [optional]
-
- // Inline interval information for this code object.
- _inlinedIntervals UNDOCUMENTED [optional]
-}
-
-
-enum CodeKind {
- Dart
- Native
- Stub
- Tag
- Collected
-}
-
-
-// A reference to a type arguments vector.
-struct TypeArgumentsRef extends ObjectRef {
- // A name for this type argument list.
- name string
-
- // A vm internal name, provided only when it is different than name.
- _vmName string
-}
-
-
-// The type argument vector for some instantiated generic type.
-struct TypeArguments extends Object {
- // A name for this type argument list.
- name string
-
- // A vm internal name, provided only when it is different than name.
- _vmName string
-
- // A list of types.
- types []TypeRef
-}
-
-
-// Represents an error object inside the VM.
-struct Error extends Object {
- // An error message
- message string
-}
-
-
-// A <code>InstanceRef</code> encodes a reference to a
-// <code>Instance</code> object.
-struct InstanceRef extends ObjectRef {
- TODO int
-}
-
-
-struct TypeRef extends InstanceRef {
- TODO2 int
-}
-
-
-// An <code>Instance</code> represents a Dart-language object.
-struct Instance extends Object {
- TODO int
-}
-
-
-// A <code>Breakpoint</code> describes a debugger breakpoint.
-struct Breakpoint extends Object {
- breakpointNumber int
- resolved bool
- location Location
-}
-
-
-// A <code>Location</code> encodes a location withing a dart script.
-//
-// TODO(turnidge): Should this really be broken out as its own type?
-// If so, we should use it more consistently in the api. For example,
-// in Frame.
-struct Location {
- script ScriptRef
- tokenPos int
-}
-
-
-// A <code>Variable</code> represents one name/value pair from a frame.
-struct Variable {
- name string
- value InstanceRef
-}
-
-
-// A <code>Frame</code> represents one frame from an isolate's stack.
-struct Frame {
- script ScriptRef
- tokenPos int
- function FunctionRef
- code CodeRef
- vars []Variable
-}
-
-
-// A <code>Stack</code> represents an isolate's execution stack.
-struct Stack extends Response {
- frames []Frame
-}
-
-
-struct CodeCoverage extends Response {
- TODO int
-}
-
-
-struct _CacheEntry {
- receiverClass ClassRef
- count int
-}
-
-
-struct _CallSite {
- name string
- line int
- column int
- cacheEntries []_CacheEntry
-}
-
-
-struct _CallSiteData extends Response {
- function FunctionRef
- callSites []_CallSite
-}
-
-// A <code>TagProfile</code> is a limited profile encoded as parallel
-// arrays of tag names and tag values.
-struct TagProfile extends Response {
- names []string
- counters []int
-}
-
-
-// An <code>AllocationProfile</code> encodes an allocation profile.
-struct AllocationProfile extends Response {
- todo int
-}
-
-
-// A <code>CpuProfile</code> encodes a full cpu profile.
-struct CpuProfile extends Response {
- samples int
- depth int
- period int
- timeSpan float
- exclusive_trie []int
- codes []CodeRegion
-}
-
-
-// A <code>CodeRegion</code> represents profiling information for a
-// specific <code>Code</code> object.
-struct CodeRegion {
- kind string
- inclusive_ticks int
- exclusive_ticks int
- code CodeRef
- ticks []int
- callers []int
-}
-
-// An <code>HeapMap</code> provides a memory view of all heap allocated objects.
-struct HeapMap extends Response {
- todo int
-}
-
-
-// An <code>HeapMap</code> provides a memory view of all heap allocated objects.
-struct RetainingPath extends Response {
- length int
- elements []RetainingPathElement
-}
-
-
-// One entry in a <code>RetainingPath</code>.
-struct RetainingPathElement {
- index int
- element InstanceRef
- parentListIndex int [optional]
- parentField FieldRef [optional]
-}
-
-
-struct InboundReferences extends Response {
- length int
- references []InboundReference
-}
-
-
-// TODO(koda): slot can actually be a string, and integer or a
-// FieldRef. Fix this to be consistent with RetainingPathElement.
-struct InboundReference {
- source InstanceRef
- slot int
-}
-
-
-struct InstanceSet {
- placeholder int
-}
-
-
-struct ClassList extends Response {
- classes []ClassRef
-}
-
-
-struct TypeArgumentsList extends Response {
- tableSize int
- tableUsed int
- typeArguments []TypeArgumentsRef
-}
-
-
-struct MetricList extends Response {
- metrics []Metric
-}
-
-
-struct Metric extends Response {
- name string
- description string
-}
-
-
-struct Gauge extends Metric {
- value float
- min float
- max float
-}
-
-
-struct Counter extends Metric {
- value float
-}
-
-
-// A <code>GCOption</code> is used to indicate which form of garbage
-// collection is requested.
-enum GCOption {
- full
-}
-
-// A <code>StepOption</code> is used to indicate which form of
-// single-stepping is requested.
-enum StepOption {
- into
- over
- out
-}
-
-// A <code>TagSelector</code> is used to indicate which sets of tags
-// should take precedence in a cpu profile.
-enum TagSelector {
- UserVM
- UserOnly
- VMUser
- VMOnly
- None
-}
-
-// A <code>MetricSelector</code> is used to indicate which list of metrics
-// should be retrieved from an isolate.
-enum MetricSelector {
- Dart
- Native
-}
-
-
-struct _EchoResponse extends Response {
- text string
-}
-
-
-struct UNDOCUMENTED {
- TODO int
-}
« no previous file with comments | « runtime/vm/service/protocol.md ('k') | runtime/vm/service/service.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698