Class ConfluenceInstrumentRegistry
java.lang.Object
com.atlassian.confluence.util.profiling.ConfluenceInstrumentRegistry
- All Implemented Interfaces:
ControllableInstrumentRegistry,com.atlassian.instrumentation.InstrumentRegistry,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware
public class ConfluenceInstrumentRegistry
extends Object
implements ControllableInstrumentRegistry, org.springframework.context.ApplicationContextAware
Central InstrumentRegistry for Confluence. This will be export as OSGI service for JMX exposer.
The main reason we have this class is we want to get the configuration at runtime from Spring so Spring could decide
the isolation level of the configuration (in this case ThreadLocal)
- Since:
- 6.1.0
-
Constructor Summary
ConstructorsConstructorDescriptionConfluenceInstrumentRegistry(com.atlassian.instrumentation.operations.OpTimerFactory opTimerFactory) ConfluenceInstrumentRegistry(com.atlassian.instrumentation.operations.OpTimerFactory opTimerFactory, Supplier<com.atlassian.instrumentation.RegistryConfiguration> registryConfigurationSupplier) -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clears the currently held statistics.voidDisable monitoring.voidEnables monitoring.com.atlassian.instrumentation.InstrumentgetInstrument(String name) intwe still allow to create instrument when disable but won't report any instrument out sidecom.atlassian.instrumentation.RegistryConfigurationbooleanCheck instrument registry is enable or notcom.atlassian.instrumentation.AbsoluteCounterpullAbsoluteCounter(String name) com.atlassian.instrumentation.caches.CacheCollectorpullCacheCollector(String name) com.atlassian.instrumentation.caches.CacheCollectorpullCacheCollector(String name, com.atlassian.instrumentation.caches.CacheCollector.Sizer sizer) com.atlassian.instrumentation.caches.CacheCounterpullCacheCounter(String name) com.atlassian.instrumentation.caches.CacheCounterpullCacheCounter(String name, com.atlassian.instrumentation.caches.CacheCounter.Sizer sizer) com.atlassian.instrumentation.CounterpullCounter(String name) com.atlassian.instrumentation.DerivedCounterpullDerivedCounter(String name) com.atlassian.instrumentation.Gaugecom.atlassian.instrumentation.operations.OpCounterpullOpCounter(String name) com.atlassian.instrumentation.operations.OpTimerprotected com.atlassian.instrumentation.InstrumentputIfAbsent(String name, com.atlassian.instrumentation.Instrument possiblyNeeded) com.atlassian.instrumentation.InstrumentputInstrument(com.atlassian.instrumentation.Instrument instrument) voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext) List<com.atlassian.instrumentation.Instrument> we still allow to create instrument when disable but won't report any instrument out side
-
Constructor Details
-
ConfluenceInstrumentRegistry
public ConfluenceInstrumentRegistry(com.atlassian.instrumentation.operations.OpTimerFactory opTimerFactory) -
ConfluenceInstrumentRegistry
public ConfluenceInstrumentRegistry(com.atlassian.instrumentation.operations.OpTimerFactory opTimerFactory, Supplier<com.atlassian.instrumentation.RegistryConfiguration> registryConfigurationSupplier)
-
-
Method Details
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException - Specified by:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware- Throws:
org.springframework.beans.BeansException
-
getRegistryConfiguration
public com.atlassian.instrumentation.RegistryConfiguration getRegistryConfiguration()- Specified by:
getRegistryConfigurationin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
putInstrument
public com.atlassian.instrumentation.Instrument putInstrument(com.atlassian.instrumentation.Instrument instrument) - Specified by:
putInstrumentin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
getInstrument
- Specified by:
getInstrumentin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
putIfAbsent
protected com.atlassian.instrumentation.Instrument putIfAbsent(String name, com.atlassian.instrumentation.Instrument possiblyNeeded) -
pullAbsoluteCounter
- Specified by:
pullAbsoluteCounterin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
pullCounter
- Specified by:
pullCounterin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
pullDerivedCounter
- Specified by:
pullDerivedCounterin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
pullGauge
- Specified by:
pullGaugein interfacecom.atlassian.instrumentation.InstrumentRegistry
-
pullCacheCollector
public com.atlassian.instrumentation.caches.CacheCollector pullCacheCollector(String name, com.atlassian.instrumentation.caches.CacheCollector.Sizer sizer) - Specified by:
pullCacheCollectorin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
pullCacheCollector
- Specified by:
pullCacheCollectorin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
pullCacheCounter
public com.atlassian.instrumentation.caches.CacheCounter pullCacheCounter(String name, com.atlassian.instrumentation.caches.CacheCounter.Sizer sizer) - Specified by:
pullCacheCounterin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
pullCacheCounter
- Specified by:
pullCacheCounterin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
pullOpCounter
- Specified by:
pullOpCounterin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
pullTimer
- Specified by:
pullTimerin interfacecom.atlassian.instrumentation.InstrumentRegistry
-
snapshotInstruments
we still allow to create instrument when disable but won't report any instrument out side- Specified by:
snapshotInstrumentsin interfacecom.atlassian.instrumentation.InstrumentRegistry- Returns:
- empty list if disable
-
getNumberOfInstruments
public int getNumberOfInstruments()we still allow to create instrument when disable but won't report any instrument out side- Specified by:
getNumberOfInstrumentsin interfacecom.atlassian.instrumentation.InstrumentRegistry- Returns:
- zero if disable
-
isMonitoringEnabled
public boolean isMonitoringEnabled()Description copied from interface:ControllableInstrumentRegistryCheck instrument registry is enable or not- Specified by:
isMonitoringEnabledin interfaceControllableInstrumentRegistry- Returns:
-
enableMonitoring
public void enableMonitoring()Description copied from interface:ControllableInstrumentRegistryEnables monitoring. It does not effect whether CPU timing is enabled.- Specified by:
enableMonitoringin interfaceControllableInstrumentRegistry
-
disableMonitoring
public void disableMonitoring()Description copied from interface:ControllableInstrumentRegistryDisable monitoring. It does not effect whether CPU timing is enabled.- Specified by:
disableMonitoringin interfaceControllableInstrumentRegistry
-
clear
public void clear()Description copied from interface:ControllableInstrumentRegistryClears the currently held statistics.- Specified by:
clearin interfaceControllableInstrumentRegistry
-