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:
    Instrument
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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.
      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 Detail

      • 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

        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. The AST may be modified as a side-effect. Unlike probe(), once probeLite(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 - The TruffleEventReceiver for the single "instrument" being attached to this node.