Interface InstrumentationProvider

  • All Known Implementing Classes:
    AbstractInstrumentationProvider

    public interface InstrumentationProvider
    Pluggable instrumentation providers (ex. JMX) must implement this interface. It provides methods for controlling the provider and the instruments instrumented by the provider.
    • Method Detail

      • isStarted

        boolean isStarted()
        Whether the instrumentation provider started
        Returns:
        true if the provider is started
      • stop

        void stop()
        Starts the instrumentation provider
      • start

        void start()
        Stops the instrumentation provider
      • getConfiguration

        Configuration getConfiguration()
        Gets the configuration associated with the instrumentation provider
        Returns:
        the configuration associated with the provider
      • setInstrument

        void setInstrument​(String instruments)
        Used to associate one or more instruments to a provider. Instruments are specified by class name or alias. Multiple instruments must be specified as a comma separated list. example: DataCache,QueryCache,com.my.MyInstrument where DataCache and QueryCache have aliases and com.my.MyInstrument is a class implementing an Instrument.
        Parameters:
        instruments - one or more instrument class names or aliases
      • getInstrument

        String getInstrument()
        Returns the string-based list of instruments directly configured by this provider via setInstrument.
      • setOptions

        void setOptions​(String options)
        Sets configuration options for this provider
        Parameters:
        options -
      • getOptions

        String getOptions()
        Gets configuration options for this provider
        Parameters:
        options -
      • getInstrumentAliases

        String[] getInstrumentAliases()
        Returns an string array of identifier to class name aliases for instruments known to the instrumentation provider. Example: {"DataCache", "org.apache.openjpa.instrumentation.DataCacheInstrument", "QueryCache", "org.apache.openjpa.instrumentation.QueryCacheInstrument"}
        Returns:
        a string array of identifier, class name pairs.
      • addInstrument

        void addInstrument​(Instrument instrument)
        Adds an instrument to this providers list of managed instruments. The instrument will participate in context-based lifecycle routines, depending on the instrumentation level.
        Parameters:
        instrument -
      • stopInstruments

        void stopInstruments​(InstrumentationLevel level,
                             Object context)
        Stops all instruments of the specified instrumentation level and context.
        Parameters:
        level - instrumentation level
        context - instrumentation context (factory, broker, config)
      • startInstruments

        void startInstruments​(InstrumentationLevel level,
                              Object context)
        Starts all instruments of the specified instrumentation level and context.
        Parameters:
        level - instrumentation level
        context - instrumentation context (factory, broker, config)
      • initializeInstrument

        void initializeInstrument​(Instrument instrument,
                                  Object context)
        Initializes an instrument within the provided context.
        Parameters:
        instrument - an instrument
        context - instrumentation context (factory, broker, config)
      • initializeInstrument

        void initializeInstrument​(Instrument instrument,
                                  String options,
                                  Object context)
        Initializes an instrument within the provided options and context.
        Parameters:
        instrument - an instrument
        options - configuration options to provide the instrument during initialization
        context - instrumentation context (factory, broker, config)
      • getInstrumentByName

        Instrument getInstrumentByName​(String name)
        Returns an instrument instrumented by this provider by name
        Parameters:
        name - the name of the instrument to return
        Returns:
        the instrument or null if not instrumented by this provider
      • removeInstrumentByName

        void removeInstrumentByName​(String name)
        Removes an instrument instrumented by this provider by name
        Parameters:
        name - the name of the instrument to remove
      • getInstruments

        Set<Instrument> getInstruments()
        Gets all instruments instrumented by this provider
        Returns:
        instruments instrumented by this provider
      • startInstrument

        void startInstrument​(Instrument instrument)
        Starts an instrument
        Parameters:
        instrument - this instrument to start
      • stopInstrument

        void stopInstrument​(Instrument instrument)
        Stops an instrument
        Parameters:
        instrument - the instrument to stop
      • stopInstrument

        void stopInstrument​(Instrument instrument,
                            boolean force)
        Stops an instrument, forcing the stop, if necessary.
        Parameters:
        instrument - the instrument to stop
        force - forces the stop if the instrument does not stop gracefully.