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 Details

    • 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.