Class 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 Detail

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

      • setApplicationContext

        public void setApplicationContext​(org.springframework.context.ApplicationContext applicationContext)
                                   throws org.springframework.beans.BeansException
        Specified by:
        setApplicationContext in interface org.springframework.context.ApplicationContextAware
        Throws:
        org.springframework.beans.BeansException
      • getRegistryConfiguration

        public com.atlassian.instrumentation.RegistryConfiguration getRegistryConfiguration()
        Specified by:
        getRegistryConfiguration in interface com.atlassian.instrumentation.InstrumentRegistry
      • putInstrument

        public com.atlassian.instrumentation.Instrument putInstrument​(com.atlassian.instrumentation.Instrument instrument)
        Specified by:
        putInstrument in interface com.atlassian.instrumentation.InstrumentRegistry
      • getInstrument

        public com.atlassian.instrumentation.Instrument getInstrument​(String name)
        Specified by:
        getInstrument in interface com.atlassian.instrumentation.InstrumentRegistry
      • putIfAbsent

        protected com.atlassian.instrumentation.Instrument putIfAbsent​(String name,
                                                                       com.atlassian.instrumentation.Instrument possiblyNeeded)
      • pullAbsoluteCounter

        public com.atlassian.instrumentation.AbsoluteCounter pullAbsoluteCounter​(String name)
        Specified by:
        pullAbsoluteCounter in interface com.atlassian.instrumentation.InstrumentRegistry
      • pullCounter

        public com.atlassian.instrumentation.Counter pullCounter​(String name)
        Specified by:
        pullCounter in interface com.atlassian.instrumentation.InstrumentRegistry
      • pullDerivedCounter

        public com.atlassian.instrumentation.DerivedCounter pullDerivedCounter​(String name)
        Specified by:
        pullDerivedCounter in interface com.atlassian.instrumentation.InstrumentRegistry
      • pullGauge

        public com.atlassian.instrumentation.Gauge pullGauge​(String name)
        Specified by:
        pullGauge in interface com.atlassian.instrumentation.InstrumentRegistry
      • pullCacheCollector

        public com.atlassian.instrumentation.caches.CacheCollector pullCacheCollector​(String name,
                                                                                      com.atlassian.instrumentation.caches.CacheCollector.Sizer sizer)
        Specified by:
        pullCacheCollector in interface com.atlassian.instrumentation.InstrumentRegistry
      • pullCacheCollector

        public com.atlassian.instrumentation.caches.CacheCollector pullCacheCollector​(String name)
        Specified by:
        pullCacheCollector in interface com.atlassian.instrumentation.InstrumentRegistry
      • pullCacheCounter

        public com.atlassian.instrumentation.caches.CacheCounter pullCacheCounter​(String name,
                                                                                  com.atlassian.instrumentation.caches.CacheCounter.Sizer sizer)
        Specified by:
        pullCacheCounter in interface com.atlassian.instrumentation.InstrumentRegistry
      • pullCacheCounter

        public com.atlassian.instrumentation.caches.CacheCounter pullCacheCounter​(String name)
        Specified by:
        pullCacheCounter in interface com.atlassian.instrumentation.InstrumentRegistry
      • pullOpCounter

        public com.atlassian.instrumentation.operations.OpCounter pullOpCounter​(String name)
        Specified by:
        pullOpCounter in interface com.atlassian.instrumentation.InstrumentRegistry
      • pullTimer

        public com.atlassian.instrumentation.operations.OpTimer pullTimer​(String name)
        Specified by:
        pullTimer in interface com.atlassian.instrumentation.InstrumentRegistry
      • snapshotInstruments

        public List<com.atlassian.instrumentation.Instrument> snapshotInstruments()
        we still allow to create instrument when disable but won't report any instrument out side
        Specified by:
        snapshotInstruments in interface com.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:
        getNumberOfInstruments in interface com.atlassian.instrumentation.InstrumentRegistry
        Returns:
        zero if disable