See: Description
| Interface | Description |
|---|---|
| ExecutionEventListener |
A listener attached by an
Instrumenter to specific locations of a guest language program
to listen to execution events. |
| ExecutionEventNodeFactory |
Event node factories are factories of event nodes for a
program location. |
| InstrumentableFactory<T extends Node> |
Factory for creating wrapper nodes.
|
| InstrumentableFactory.WrapperNode |
Nodes that the instrumentation framework inserts into guest language ASTs (between
Instrumentable guest language nodes and their parents) for the purpose of interposing
on execution events and reporting them via the instrumentation framework. |
| LoadSourceListener |
A listener attached by an
Instrumenter to specific locations of a guest language program
to listen to load source events. |
| LoadSourceSectionListener |
A listener attached by an
Instrumenter to specific locations of a guest language program
to listen to sources section load events. |
| SourceSectionFilter.SourcePredicate |
Represents a predicate for source objects.
|
| Class | Description |
|---|---|
| EventBinding<T> |
An instrumentation handle for a subscription to a
filtered stream of execution event notifications.
|
| EventContext |
Represents the context of an instrumentation event.
|
| ExecutionEventNode |
An event node created by an
ExecutionEventNodeFactory for a specific locations of a guest
language program to listen to instrumentation events. |
| Instrumenter |
Provides the capabilities to attach
ExecutionEventNodeFactory and
ExecutionEventListener instances for a set of source locations specified by a
SourceSectionFilter. |
| LoadSourceEvent |
Represents a source load event from a
LoadSourceListener. |
| LoadSourceSectionEvent |
Represents a source section load event from a
LoadSourceSectionListener. |
| ProbeNode |
Represents an event sink for instrumentation events that is embedded in the AST using wrappers if
needed.
|
| SourceSectionFilter |
A source section filter represents an expression for a subset of tagged source sections that are
used in an Truffle interpreter.
|
| SourceSectionFilter.IndexRange |
Represents a range between two indices within a
source section
filter. |
| StandardTags |
Set of standard tags usable by language agnostic tools.
|
| TruffleInstrument |
The service provider interface (SPI) for Truffle
Instruments: clients of Truffle
instrumentation that may observe and inject behavior into interpreters written using the Truffle
framework.
|
| TruffleInstrument.Env |
Access to instrumentation services as well as input, output, and error streams.
|
| Annotation Type | Description |
|---|---|
| Instrumentable |
Marks a guest language AST node class as instrumentable: an AST location where
Truffle instruments are
permitted to listen to before and after execution events.
|
| ProvidedTags |
Specifies a set of tags that are provided by a
language implementation. |
| TruffleInstrument.Registration |
Annotation that registers an
instrument implementations for
automatic discovery. |
Instrumentable. For
details please refer to Instrumentable.
To use the instrumentation framework implementors must implement the
TruffleInstrument interface. Please refer to
TruffleInstrument for further details.
Guest languages that want to use the capabilities of the instrumentation framework can access
Instrumenter for their
TruffleLanguage by calling
TruffleLanguage.Env.lookup(Class).
SourceSectionFilter created using guest languages
may be used to implement guest language features that require meta-programming capabilities.
Instruments can be enabled/disabled using PolyglotEngine.TruffleInstrument,
Instrumentable