Interface ProbeNode.Instrumentable
- Enclosing class:
- ProbeNode
public static interface ProbeNode.Instrumentable
Any Truffle node implementing this interface can be "instrumented" by installing a
Probe
that intercepts execution events at the node and routes them to any
Instrument
s that have been attached to the Probe
. Only one Probe
may
be installed at each node; subsequent calls return the one already installed.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionprobe()
Enables "instrumentation" of a Guest Language Truffle node, where the node is presumed to be part of a well-formed Truffle AST that is not being executed.void
probeLite
(TruffleEventReceiver eventReceiver) Enables a one-time, unchangeable "instrumentation" of a Guest Language Truffle node, where the node is presumed to be part of a well-formed Truffle AST that is not being executed.
-
Method Details
-
probe
Probe probe()Enables "instrumentation" of a Guest Language Truffle node, where the node is presumed to be part of a well-formed Truffle AST that is not being executed. The AST may be modified as a side effect.This interface is not intended to be visible as part of the API for tools (instrumentation clients).
- Returns:
- a (possibly newly created)
Probe
associated with this node.
-
probeLite
Enables a one-time, unchangeable "instrumentation" of a Guest Language Truffle node, where the node is presumed to be part of a well-formed Truffle AST that is not being executed. The AST may be modified as a side-effect. Unlikeprobe()
, onceprobeLite(TruffleEventReceiver)
is called at a node, no additional probing can be added and no additional instrumentation can be attached.This interface is not intended to be visible as part of the API for tools (instrumentation clients).
- Parameters:
eventReceiver
- TheTruffleEventReceiver
for the single "instrument" being attached to this node.
-