Interface ConfluenceMonitoringControl

  • All Known Implementing Classes:
    AtlassianInstrumentationConfluenceMonitoring

    @Internal
    public interface ConfluenceMonitoringControl
    A service provider interface to be implemented by ConfluenceMonitoring implementations. This is to break the dependency of ConflueneMonitoring from whatever mechanism is used to control the monitoring.

    Notes:

    • When a ConflueneMonitoring implementation is created, it must not be enabled.
    • The method implementations must be idempotent.
    Since:
    5.5.1
    • Method Detail

      • isMonitoringEnabled

        boolean isMonitoringEnabled()
        Returns:
        whether monitoring is enabled.
      • enableMonitoring

        void enableMonitoring()
        Enables monitoring. It does not effect whether CPU timing is enabled.
      • disableMonitoring

        void disableMonitoring()
        Disable monitoring. It does not effect whether CPU timing is enabled.
      • isCpuTimingEnabled

        boolean isCpuTimingEnabled()
        Returns:
        whether CPU timing is enabled.
      • enableCpuTiming

        void enableCpuTiming()
        Enable capturing CPU timing. It does not effect whether monitoring is enabled.

        WARNING: turning on CPU timing will adversly impact on system performance. Do not do this on production systems without due consideration.

      • disableCpuTiming

        void disableCpuTiming()
        Disable capturing CPU timing. It does not effect whether monitoring is enabled.
      • enableHibernateMonitoring

        void enableHibernateMonitoring()
        Enables Hibernate monitoring. It does not effect whether monitoring is enabled.
      • disableHibernateMonitoring

        void disableHibernateMonitoring()
        Disable Hibernate monitoring. It does not effect whether monitoring is enabled.
      • clear

        void clear()
        Clears the currently held statistics.
      • snapshotCounters

        @NonNull List<CounterSnapshot> snapshotCounters()
        Returns a snapshot of the counters.
        Returns:
        a mutable list of the current counters.
      • snapshotTimers

        @NonNull List<TimerSnapshot> snapshotTimers()
        Returns a snapshot of the timers.
        Returns:
        a mutable list of the current timers.