VmService class
- Available extensions
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
onDebugEvent
→ Stream<
Event> -
no setter
-
onDone
→ Future<
void> -
no setter
-
onExtensionEvent
→ Stream<
Event> -
no setter
-
onGCEvent
→ Stream<
Event> -
no setter
-
onHeapSnapshotEvent
→ Stream<
Event> -
no setter
-
onIsolateEvent
→ Stream<
Event> -
no setter
-
onLoggingEvent
→ Stream<
Event> -
no setter
-
onProfilerEvent
→ Stream<
Event> -
no setter
-
onReceive
→ Stream<
String> -
no setter
-
onSend
→ Stream<
String> -
no setter
-
onServiceEvent
→ Stream<
Event> -
no setter
-
onStderrEvent
→ Stream<
Event> -
no setter
-
onStdoutEvent
→ Stream<
Event> -
no setter
-
onTimelineEvent
→ Stream<
Event> -
no setter
-
onVMEvent
→ Stream<
Event> -
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- wsUri → String?
-
The web socket URI pointing to the target VM service instance.
final
Methods
-
addBreakpoint(
String isolateId, String scriptId, int line, {int? column}) → Future< Breakpoint> -
The
addBreakpoint
RPC is used to add a breakpoint at a specific line of some script. -
addBreakpointAtEntry(
String isolateId, String functionId) → Future< Breakpoint> -
The
addBreakpointAtEntry
RPC is used to add a breakpoint at the entrypoint of some function. -
addBreakpointWithScriptUri(
String isolateId, String scriptUri, int line, {int? column}) → Future< Breakpoint> -
The
addBreakpoint
RPC is used to add a breakpoint at a specific line of some script. This RPC is useful when a script has not yet been assigned an id, for example, if a script is in a deferred library which has not yet been loaded. -
callMethod(
String method, {String? isolateId, Map< String, dynamic> ? args}) → Future<Response> - Call an arbitrary service protocol method. This allows clients to call methods not explicitly exposed by this library.
-
callServiceExtension(
String method, {String? isolateId, Map< String, dynamic> ? args}) → Future<Response> - Invoke a specific service protocol extension method.
-
clearCpuSamples(
String isolateId) → Future< Success> - Clears all CPU profiling samples.
-
clearHttpProfile(
String isolateId) → Future< Success> -
Available on VmService, provided by the DartIOExtension extension
TheclearHttpProfile
RPC is used to clear previously recorded HTTP requests from the HTTP profiler state. Requests still in-flight after clearing the profiler state will be ignored by the profiler. -
clearSocketProfile(
String isolateId) → Future< Success> -
Available on VmService, provided by the DartIOExtension extension
Removes all statistics associated with prior and current sockets. -
clearVMTimeline(
) → Future< Success> - Clears all VM timeline events.
-
createIdZone(
String isolateId, String backingBufferKind, String idAssignmentPolicy, {int? capacity}) → Future< IdZone> -
The
createIdZone
RPC is used to create a new ID zone where temporary IDs for instances in the specified isolate may be allocated. SeeIDs and Names
for more information about ID zones. -
deleteIdZone(
String isolateId, String idZoneId) → Future< Success> -
The
deleteIdZone
RPC frees the buffer that backs the specified ID zone, and makes that zone unusable for the remainder of the program's execution. For performance reasons, clients should aim to call invalidateIdZone and reuse existing zones as much as possible instead of deleting zones and then creating new ones. -
dispose(
) → Future< void> -
evaluate(
String isolateId, String targetId, String expression, {Map< String, String> ? scope, bool? disableBreakpoints, String? idZoneId}) → Future<Response> -
The
evaluate
RPC is used to evaluate an expression in the context of some target. -
evaluateInFrame(
String isolateId, int frameIndex, String expression, {Map< String, String> ? scope, bool? disableBreakpoints, String? idZoneId}) → Future<Response> -
The
evaluateInFrame
RPC is used to evaluate an expression in the context of a particular stack frame.frameIndex
is the index of the desired Frame, with an index of0
indicating the top (most recent) frame. -
getAllocationProfile(
String isolateId, {bool? reset, bool? gc}) → Future< AllocationProfile> -
The
getAllocationProfile
RPC is used to retrieve allocation information for a given isolate. -
getAllocationTraces(
String isolateId, {int? timeOriginMicros, int? timeExtentMicros, String? classId}) → Future< CpuSamples> -
The
getAllocationTraces
RPC allows for the retrieval of allocation traces for objects of a specific set of types (see VmService.setTraceClassAllocation). Only samples collected in the time range[timeOriginMicros, timeOriginMicros + timeExtentMicros]
will be reported. -
getClassList(
String isolateId) → Future< ClassList> -
The
getClassList
RPC is used to retrieve aClassList
containing all classes for an isolate based on the isolate'sisolateId
. -
getCpuSamples(
String isolateId, int timeOriginMicros, int timeExtentMicros) → Future< CpuSamples> -
The
getCpuSamples
RPC is used to retrieve samples collected by the CPU profiler. See CpuSamples for a detailed description of the response. -
getDartIOVersion(
String isolateId) → Future< Version> -
Available on VmService, provided by the DartIOExtension extension
ThegetDartIOVersion
RPC returns the available version of the dart:io service protocol extensions. -
getFlagList(
) → Future< FlagList> -
The
getFlagList
RPC returns a list of all command line flags in the VM along with their current values. -
getHttpProfile(
String isolateId, {DateTime? updatedSince}) → Future< HttpProfile> -
Available on VmService, provided by the DartIOExtension extension
ThegetHttpProfile
RPC is used to retrieve HTTP profiling information for requests made viadart:io
'sHttpClient
. -
getHttpProfileRequest(
String isolateId, String id) → Future< HttpProfileRequest> -
Available on VmService, provided by the DartIOExtension extension
ThegetHttpProfileRequest
RPC is used to retrieve an instance of HttpProfileRequest, which includes request and response body data. -
getInboundReferences(
String isolateId, String targetId, int limit, {String? idZoneId}) → Future< InboundReferences> -
Returns a set of inbound references to the object specified by
targetId
. Up tolimit
references will be returned. -
getInstances(
String isolateId, String objectId, int limit, {bool? includeSubclasses, bool? includeImplementers, String? idZoneId}) → Future< InstanceSet> -
The
getInstances
RPC is used to retrieve a set of instances which are of a specific class. -
getInstancesAsList(
String isolateId, String objectId, {bool? includeSubclasses, bool? includeImplementers, String? idZoneId}) → Future< InstanceRef> -
The
getInstancesAsList
RPC is used to retrieve a set of instances which are of a specific class. This RPC returns anInstanceRef
corresponding to a DartList<dynamic>
that contains the requested instances. ThisList
is not growable, but it is otherwise mutable. The response type is what distinguishes this RPC fromgetInstances
, which returns anInstanceSet
. -
getIsolate(
String isolateId) → Future< Isolate> -
The
getIsolate
RPC is used to lookup anIsolate
object by itsid
. -
getIsolateGroup(
String isolateGroupId) → Future< IsolateGroup> -
The
getIsolateGroup
RPC is used to lookup anIsolateGroup
object by itsid
. -
getIsolateGroupMemoryUsage(
String isolateGroupId) → Future< MemoryUsage> -
The
getIsolateGroupMemoryUsage
RPC is used to lookup an isolate group's memory usage statistics by itsid
. -
getIsolatePauseEvent(
String isolateId) → Future< Event> -
The
getIsolatePauseEvent
RPC is used to lookup an isolate's pause event by itsid
. -
getMemoryUsage(
String isolateId) → Future< MemoryUsage> -
The
getMemoryUsage
RPC is used to lookup an isolate's memory usage statistics by itsid
. -
getObject(
String isolateId, String objectId, {int? offset, int? count, String? idZoneId}) → Future< Obj> -
The
getObject
RPC is used to lookup anobject
from some isolate by itsid
. -
getOpenFileById(
String isolateId, int id) → Future< OpenFile> -
Available on VmService, provided by the DartIOExtension extension
ThegetOpenFileById
RPC is used to retrieve information about files currently opened bydart:io
from a given isolate. -
getOpenFiles(
String isolateId) → Future< OpenFileList> -
Available on VmService, provided by the DartIOExtension extension
ThegetOpenFiles
RPC is used to retrieve the list of files currently opened files bydart:io
from a given isolate. -
getPerfettoCpuSamples(
String isolateId, {int? timeOriginMicros, int? timeExtentMicros}) → Future< PerfettoCpuSamples> -
The
getPerfettoCpuSamples
RPC is used to retrieve samples collected by the CPU profiler, serialized in Perfetto's proto format. See PerfettoCpuSamples for a detailed description of the response. -
getPerfettoVMTimeline(
{int? timeOriginMicros, int? timeExtentMicros}) → Future< PerfettoTimeline> -
The
getPerfettoVMTimeline
RPC is used to retrieve an object which contains a VM timeline trace represented in Perfetto's proto format. See PerfettoTimeline for a detailed description of the response. -
getPorts(
String isolateId) → Future< PortList> -
The
getPorts
RPC is used to retrieve the list ofReceivePort
instances for a given isolate. -
getProcessMemoryUsage(
) → Future< ProcessMemoryUsage> - Returns a description of major uses of memory known to the VM.
-
getRetainingPath(
String isolateId, String targetId, int limit, {String? idZoneId}) → Future< RetainingPath> -
The
getRetainingPath
RPC is used to lookup a path from an object specified bytargetId
to a GC root (i.e., the object which is preventing this object from being garbage collected). -
getScripts(
String isolateId) → Future< ScriptList> -
The
getScripts
RPC is used to retrieve aScriptList
containing all scripts for an isolate based on the isolate'sisolateId
. -
getSocketProfile(
String isolateId) → Future< SocketProfile> -
Available on VmService, provided by the DartIOExtension extension
ThegetSocketProfile
RPC is used to retrieve socket statistics collected by the socket profiler. Only samples collected after the initial socketProfilingEnabled call or the last call to clearSocketProfile will be reported. -
getSourceReport(
String isolateId, List< String> reports, {String? scriptId, int? tokenPos, int? endTokenPos, bool? forceCompile, bool? reportLines, List<String> ? libraryFilters, List<String> ? librariesAlreadyCompiled}) → Future<SourceReport> -
The
getSourceReport
RPC is used to generate a set of reports tied to source locations in an isolate. -
getSpawnedProcessById(
String isolateId, int id) → Future< SpawnedProcess> -
Available on VmService, provided by the DartIOExtension extension
ThegetSpawnedProcessById
RPC is used to retrieve information about a process spawned bydart:io
from a given isolate. -
getSpawnedProcesses(
String isolateId) → Future< SpawnedProcessList> -
Available on VmService, provided by the DartIOExtension extension
ThegetSpawnedProcesses
RPC is used to retrieve the list of processed opened bydart:io
from a given isolate -
getStack(
String isolateId, {int? limit, String? idZoneId}) → Future< Stack> -
The
getStack
RPC is used to retrieve the current execution stack and message queue for an isolate. The isolate does not need to be paused. -
getSupportedProtocols(
) → Future< ProtocolList> -
The
getSupportedProtocols
RPC is used to determine which protocols are supported by the current server. -
getVersion(
) → Future< Version> -
The
getVersion
RPC is used to determine what version of the Service Protocol is served by a VM. -
getVM(
) → Future< VM> -
The
getVM
RPC returns global information about a Dart virtual machine. -
getVMTimeline(
{int? timeOriginMicros, int? timeExtentMicros}) → Future< Timeline> -
The
getVMTimeline
RPC is used to retrieve an object which contains VM timeline events. See Timeline for a detailed description of the response. -
getVMTimelineFlags(
) → Future< TimelineFlags> -
The
getVMTimelineFlags
RPC returns information about the current VM timeline configuration. -
getVMTimelineMicros(
) → Future< Timestamp> -
The
getVMTimelineMicros
RPC returns the current time stamp from the clock used by the timeline, similar toTimeline.now
indart:developer
andDart_TimelineGetMicros
in the VM embedding API. -
httpEnableTimelineLogging(
String isolateId, [bool? enabled]) → Future< HttpTimelineLoggingState> -
Available on VmService, provided by the DartIOExtension extension
ThehttpEnableTimelineLogging
RPC is used to set and inspect the value ofHttpClient.enableTimelineLogging
, which determines if HTTP client requests should be logged to the timeline. Ifenabled
is provided, the state ofHttpClient.enableTimelineLogging
will be updated to the value ofenabled
. -
invalidateIdZone(
String isolateId, String idZoneId) → Future< Success> -
The
invalidateIdZone
RPC is used to invalidate all the IDs that have been allocated in a certain ID zone. Invaliding the IDs makes them expire. SeeIDs and Names
for more information. -
invoke(
String isolateId, String targetId, String selector, List< String> argumentIds, {bool? disableBreakpoints, String? idZoneId}) → Future<Response> -
The
invoke
RPC is used to perform regular method invocation on some receiver, as if by dart:mirror's ObjectMirror.invoke. Note this does not provide a way to perform getter, setter or constructor invocation. -
isHttpProfilingAvailable(
String isolateId) → Future< bool> -
Available on VmService, provided by the DartIOExtension extension
Whether HTTP profiling is available for the givenisolateId
. -
isHttpTimelineLoggingAvailable(
String isolateId) → Future< bool> -
Available on VmService, provided by the DartIOExtension extension
Whether HTTP timeline logging is available for the givenisolateId
. -
isSocketProfilingAvailable(
String isolateId) → Future< bool> -
Available on VmService, provided by the DartIOExtension extension
Whether socket profiling is available for the givenisolateId
. -
kill(
String isolateId) → Future< Success> -
The
kill
RPC is used to kill an isolate as if by dart:isolate'sIsolate.kill(IMMEDIATE)
. -
lookupPackageUris(
String isolateId, List< String> uris) → Future<UriList> -
The
lookupPackageUris
RPC is used to convert a list of URIs to their unresolved paths. For example, URIs passed to this RPC are mapped in the following ways: -
lookupResolvedPackageUris(
String isolateId, List< String> uris, {bool? local}) → Future<UriList> -
The
lookupResolvedPackageUris
RPC is used to convert a list of URIs to their resolved (or absolute) paths. For example, URIs passed to this RPC are mapped in the following ways: -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onEvent(
String streamId) → Stream< Event> -
pause(
String isolateId) → Future< Success> -
The
pause
RPC is used to interrupt a running isolate. The RPC enqueues the interrupt request and potentially returns before the isolate is paused. -
registerService(
String service, String alias) → Future< Success> -
Registers a service that can be invoked by other VM service clients, where
service
is the name of the service to advertise andalias
is an alternative name for the registered service. -
registerServiceCallback(
String service, ServiceCallback cb) → void - Register a service for invocation.
-
reloadSources(
String isolateId, {bool? force, bool? pause, String? rootLibUri, String? packagesUri}) → Future< ReloadReport> -
The
reloadSources
RPC is used to perform a hot reload of the sources of all isolates in the same isolate group as the isolate specified byisolateId
. -
removeBreakpoint(
String isolateId, String breakpointId) → Future< Success> -
The
removeBreakpoint
RPC is used to remove a breakpoint by itsid
. -
requestHeapSnapshot(
String isolateId) → Future< Success> - Requests a dump of the Dart heap of the given isolate.
-
resume(
String isolateId, {String? step, int? frameIndex}) → Future< Success> -
The
resume
RPC is used to resume execution of a paused isolate. -
setBreakpointState(
String isolateId, String breakpointId, bool enable) → Future< Breakpoint> -
The
setBreakpointState
RPC allows for breakpoints to be enabled or disabled, without requiring for the breakpoint to be completely removed. -
setExceptionPauseMode(
String isolateId, String mode) → Future< Success> -
The
setExceptionPauseMode
RPC is used to control if an isolate pauses when an exception is thrown. -
setFlag(
String name, String value) → Future< Response> -
The
setFlag
RPC is used to set a VM flag at runtime. Returns an error if the named flag does not exist, the flag may not be set at runtime, or the value is of the wrong type for the flag. -
setIsolatePauseMode(
String isolateId, {String? exceptionPauseMode, bool? shouldPauseOnExit}) → Future< Success> -
The
setIsolatePauseMode
RPC is used to control if or when an isolate will pause due to a change in execution state. -
setLibraryDebuggable(
String isolateId, String libraryId, bool isDebuggable) → Future< Success> -
The
setLibraryDebuggable
RPC is used to enable or disable whether breakpoints and stepping work for a given library. -
setName(
String isolateId, String name) → Future< Success> -
The
setName
RPC is used to change the debugging name for an isolate. -
setTraceClassAllocation(
String isolateId, String classId, bool enable) → Future< Success> -
The
setTraceClassAllocation
RPC allows for enabling or disabling allocation tracing for a specific type of object. Allocation traces can be retrieved with thegetAllocationTraces
RPC. -
setVMName(
String name) → Future< Success> -
The
setVMName
RPC is used to change the debugging name for the vm. -
setVMTimelineFlags(
List< String> recordedStreams) → Future<Success> -
The
setVMTimelineFlags
RPC is used to set which timeline streams are enabled. -
socketProfilingEnabled(
String isolateId, [bool? enabled]) → Future< SocketProfilingState> -
Available on VmService, provided by the DartIOExtension extension
The socketProfilingEnabled RPC is used to enable/disable the socket profiler and query its current state. Ifenabled
is provided, the profiler state will be updated to reflect the value ofenabled
. -
streamCancel(
String streamId) → Future< Success> -
The
streamCancel
RPC cancels a stream subscription in the VM. -
streamCpuSamplesWithUserTag(
List< String> userTags) → Future<Success> -
The
streamCpuSamplesWithUserTag
RPC allows for clients to specify which CPU samples collected by the profiler should be sent over theProfiler
stream. When called, the VM will streamCpuSamples
events containingCpuSample
's collected while a user tag contained inuserTags
was active. -
streamListen(
String streamId) → Future< Success> -
The
streamListen
RPC subscribes to a stream in the VM. Once subscribed, the client will begin receiving events from the stream. -
toString(
) → String -
A string representation of this object.
inherited
-
wrapFuture<
T> (String name, Future< T> future) → Future<T> -
When overridden, this method wraps
future
with logic.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
defaultFactory(
{required Stream inStream, required void writeMessage(String message), Log? log, DisposeHandler? disposeHandler, Future? streamClosed, String? wsUri}) → VmService