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
Instruments 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.voidprobeLite(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)
Probeassociated 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- TheTruffleEventReceiverfor the single "instrument" being attached to this node.
-