Class MetricRegistryImpl

  • All Implemented Interfaces:
    org.eclipse.microprofile.metrics.MetricRegistry

    @Vetoed
    public class MetricRegistryImpl
    extends Object
    implements org.eclipse.microprofile.metrics.MetricRegistry
    The MetricRegistry stores the metrics and metadata information
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.eclipse.microprofile.metrics.MetricRegistry

        org.eclipse.microprofile.metrics.MetricRegistry.Type
    • Field Summary

      • Fields inherited from interface org.eclipse.microprofile.metrics.MetricRegistry

        APPLICATION_SCOPE, BASE_SCOPE, VENDOR_SCOPE
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      MetricRegistryImpl addListener​(MetricRegistrationListener listener)  
      <T extends org.eclipse.microprofile.metrics.Metric>
      void
      checkSameType​(org.eclipse.microprofile.metrics.MetricID metricID, String metricType, ConcurrentMap<org.eclipse.microprofile.metrics.MetricID,​?> metrics)  
      org.eclipse.microprofile.metrics.Counter counter​(String name)  
      org.eclipse.microprofile.metrics.Counter counter​(String name, org.eclipse.microprofile.metrics.Tag... tags)  
      org.eclipse.microprofile.metrics.Counter counter​(org.eclipse.microprofile.metrics.Metadata metadata)  
      org.eclipse.microprofile.metrics.Counter counter​(org.eclipse.microprofile.metrics.Metadata metadata, org.eclipse.microprofile.metrics.Tag... tags)  
      org.eclipse.microprofile.metrics.Counter counter​(org.eclipse.microprofile.metrics.MetricID metricID)  
      <T extends Number>
      org.eclipse.microprofile.metrics.Gauge<T>
      gauge​(String name, Supplier<T> supplier, org.eclipse.microprofile.metrics.Tag... tags)  
      <T,​R extends Number>
      org.eclipse.microprofile.metrics.Gauge<R>
      gauge​(String name, T object, Function<T,​R> func, org.eclipse.microprofile.metrics.Tag... tags)  
      <T extends Number>
      org.eclipse.microprofile.metrics.Gauge<T>
      gauge​(org.eclipse.microprofile.metrics.Metadata metadata, Supplier<T> supplier, org.eclipse.microprofile.metrics.Tag... tags)  
      <T,​R extends Number>
      org.eclipse.microprofile.metrics.Gauge<R>
      gauge​(org.eclipse.microprofile.metrics.Metadata metadata, T object, Function<T,​R> func, org.eclipse.microprofile.metrics.Tag... tags)  
      <T extends Number>
      org.eclipse.microprofile.metrics.Gauge<T>
      gauge​(org.eclipse.microprofile.metrics.MetricID metricID, Supplier<T> supplier)  
      <T,​R extends Number>
      org.eclipse.microprofile.metrics.Gauge<R>
      gauge​(org.eclipse.microprofile.metrics.MetricID metricID, T object, Function<T,​R> func)  
      org.eclipse.microprofile.metrics.Counter getCounter​(org.eclipse.microprofile.metrics.MetricID metricID)  
      SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Counter> getCounters()  
      SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Counter> getCounters​(org.eclipse.microprofile.metrics.MetricFilter filter)  
      org.eclipse.microprofile.metrics.Gauge<?> getGauge​(org.eclipse.microprofile.metrics.MetricID metricID)  
      SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Gauge> getGauges()  
      SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Gauge> getGauges​(org.eclipse.microprofile.metrics.MetricFilter filter)  
      org.eclipse.microprofile.metrics.Histogram getHistogram​(org.eclipse.microprofile.metrics.MetricID metricID)  
      SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Histogram> getHistograms()  
      SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Histogram> getHistograms​(org.eclipse.microprofile.metrics.MetricFilter filter)  
      Map<String,​org.eclipse.microprofile.metrics.Metadata> getMetadata()  
      org.eclipse.microprofile.metrics.Metadata getMetadata​(String name)  
      org.eclipse.microprofile.metrics.Metric getMetric​(org.eclipse.microprofile.metrics.MetricID metricID)  
      <T extends org.eclipse.microprofile.metrics.Metric>
      T
      getMetric​(org.eclipse.microprofile.metrics.MetricID metricID, Class<T> ofType)  
      String getMetricClassName​(String name)  
      <T extends org.eclipse.microprofile.metrics.Metric>
      T
      getMetricCustomScope​(org.eclipse.microprofile.metrics.MetricID metricID, Class<T> ofType, String scope)  
      SortedSet<org.eclipse.microprofile.metrics.MetricID> getMetricIDs()  
      Map<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Metric> getMetrics()  
      <T extends org.eclipse.microprofile.metrics.Metric>
      SortedMap<org.eclipse.microprofile.metrics.MetricID,​T>
      getMetrics​(Class<T> ofType, org.eclipse.microprofile.metrics.MetricFilter filter)  
      Map<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Metric> getMetrics​(String name)  
      SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Metric> getMetrics​(org.eclipse.microprofile.metrics.MetricFilter filter)  
      Set<org.eclipse.microprofile.metrics.MetricID> getMetricsIDs​(String name)  
      SortedSet<String> getNames()  
      String getScope()  
      org.eclipse.microprofile.metrics.Timer getTimer​(org.eclipse.microprofile.metrics.MetricID metricID)  
      SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Timer> getTimers()  
      SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Timer> getTimers​(org.eclipse.microprofile.metrics.MetricFilter filter)  
      org.eclipse.microprofile.metrics.Histogram histogram​(String name)  
      org.eclipse.microprofile.metrics.Histogram histogram​(String name, org.eclipse.microprofile.metrics.Tag... tags)  
      org.eclipse.microprofile.metrics.Histogram histogram​(org.eclipse.microprofile.metrics.Metadata metadata)  
      org.eclipse.microprofile.metrics.Histogram histogram​(org.eclipse.microprofile.metrics.Metadata metadata, org.eclipse.microprofile.metrics.Tag... tags)  
      org.eclipse.microprofile.metrics.Histogram histogram​(org.eclipse.microprofile.metrics.MetricID metricID)  
      static boolean isLambda​(Object obj)  
      <T extends org.eclipse.microprofile.metrics.Metric>
      T
      register​(org.eclipse.microprofile.metrics.Metadata metadata, String metricType, T metric, org.eclipse.microprofile.metrics.Tag... tags)  
      boolean remove​(String name)  
      boolean remove​(org.eclipse.microprofile.metrics.MetricID metricID)  
      void removeMatching​(org.eclipse.microprofile.metrics.MetricFilter filter)  
      org.eclipse.microprofile.metrics.Timer timer​(String name)  
      org.eclipse.microprofile.metrics.Timer timer​(String name, org.eclipse.microprofile.metrics.Tag... tags)  
      org.eclipse.microprofile.metrics.Timer timer​(org.eclipse.microprofile.metrics.Metadata metadata)  
      org.eclipse.microprofile.metrics.Timer timer​(org.eclipse.microprofile.metrics.Metadata metadata, org.eclipse.microprofile.metrics.Tag... tags)  
      org.eclipse.microprofile.metrics.Timer timer​(org.eclipse.microprofile.metrics.MetricID metricID)  
      String toString()  
      static void validateTags​(org.eclipse.microprofile.metrics.Tag[] tags)
      This method validates if the mp_scope and the mp_app tag names are used for the metric.
      <T extends org.eclipse.microprofile.metrics.Metric>
      T
      verifyMetrics​(org.eclipse.microprofile.metrics.MetricID metricID, fish.payara.microprofile.metrics.impl.MetricRegistryImpl.MetricFamily<?> family)  
    • Constructor Detail

      • MetricRegistryImpl

        public MetricRegistryImpl()
      • MetricRegistryImpl

        public MetricRegistryImpl​(String registryScope)
      • MetricRegistryImpl

        public MetricRegistryImpl​(String type,
                                  Clock clock)
    • Method Detail

      • counter

        public org.eclipse.microprofile.metrics.Counter counter​(String name)
        Specified by:
        counter in interface org.eclipse.microprofile.metrics.MetricRegistry
      • counter

        public org.eclipse.microprofile.metrics.Counter counter​(org.eclipse.microprofile.metrics.Metadata metadata)
        Specified by:
        counter in interface org.eclipse.microprofile.metrics.MetricRegistry
      • counter

        public org.eclipse.microprofile.metrics.Counter counter​(String name,
                                                                org.eclipse.microprofile.metrics.Tag... tags)
        Specified by:
        counter in interface org.eclipse.microprofile.metrics.MetricRegistry
      • counter

        public org.eclipse.microprofile.metrics.Counter counter​(org.eclipse.microprofile.metrics.Metadata metadata,
                                                                org.eclipse.microprofile.metrics.Tag... tags)
        Specified by:
        counter in interface org.eclipse.microprofile.metrics.MetricRegistry
      • counter

        public org.eclipse.microprofile.metrics.Counter counter​(org.eclipse.microprofile.metrics.MetricID metricID)
        Specified by:
        counter in interface org.eclipse.microprofile.metrics.MetricRegistry
      • gauge

        public <T,​R extends Number> org.eclipse.microprofile.metrics.Gauge<R> gauge​(org.eclipse.microprofile.metrics.Metadata metadata,
                                                                                          T object,
                                                                                          Function<T,​R> func,
                                                                                          org.eclipse.microprofile.metrics.Tag... tags)
        Specified by:
        gauge in interface org.eclipse.microprofile.metrics.MetricRegistry
      • gauge

        public <T extends Number> org.eclipse.microprofile.metrics.Gauge<T> gauge​(org.eclipse.microprofile.metrics.MetricID metricID,
                                                                                  Supplier<T> supplier)
        Specified by:
        gauge in interface org.eclipse.microprofile.metrics.MetricRegistry
      • gauge

        public <T,​R extends Number> org.eclipse.microprofile.metrics.Gauge<R> gauge​(org.eclipse.microprofile.metrics.MetricID metricID,
                                                                                          T object,
                                                                                          Function<T,​R> func)
        Specified by:
        gauge in interface org.eclipse.microprofile.metrics.MetricRegistry
      • gauge

        public <T extends Number> org.eclipse.microprofile.metrics.Gauge<T> gauge​(org.eclipse.microprofile.metrics.Metadata metadata,
                                                                                  Supplier<T> supplier,
                                                                                  org.eclipse.microprofile.metrics.Tag... tags)
        Specified by:
        gauge in interface org.eclipse.microprofile.metrics.MetricRegistry
      • gauge

        public <T extends Number> org.eclipse.microprofile.metrics.Gauge<T> gauge​(String name,
                                                                                  Supplier<T> supplier,
                                                                                  org.eclipse.microprofile.metrics.Tag... tags)
        Specified by:
        gauge in interface org.eclipse.microprofile.metrics.MetricRegistry
      • gauge

        public <T,​R extends Number> org.eclipse.microprofile.metrics.Gauge<R> gauge​(String name,
                                                                                          T object,
                                                                                          Function<T,​R> func,
                                                                                          org.eclipse.microprofile.metrics.Tag... tags)
        Specified by:
        gauge in interface org.eclipse.microprofile.metrics.MetricRegistry
      • histogram

        public org.eclipse.microprofile.metrics.Histogram histogram​(String name,
                                                                    org.eclipse.microprofile.metrics.Tag... tags)
        Specified by:
        histogram in interface org.eclipse.microprofile.metrics.MetricRegistry
      • histogram

        public org.eclipse.microprofile.metrics.Histogram histogram​(org.eclipse.microprofile.metrics.Metadata metadata,
                                                                    org.eclipse.microprofile.metrics.Tag... tags)
        Specified by:
        histogram in interface org.eclipse.microprofile.metrics.MetricRegistry
      • histogram

        public org.eclipse.microprofile.metrics.Histogram histogram​(String name)
        Specified by:
        histogram in interface org.eclipse.microprofile.metrics.MetricRegistry
      • histogram

        public org.eclipse.microprofile.metrics.Histogram histogram​(org.eclipse.microprofile.metrics.Metadata metadata)
        Specified by:
        histogram in interface org.eclipse.microprofile.metrics.MetricRegistry
      • histogram

        public org.eclipse.microprofile.metrics.Histogram histogram​(org.eclipse.microprofile.metrics.MetricID metricID)
        Specified by:
        histogram in interface org.eclipse.microprofile.metrics.MetricRegistry
      • timer

        public org.eclipse.microprofile.metrics.Timer timer​(String name,
                                                            org.eclipse.microprofile.metrics.Tag... tags)
        Specified by:
        timer in interface org.eclipse.microprofile.metrics.MetricRegistry
      • timer

        public org.eclipse.microprofile.metrics.Timer timer​(org.eclipse.microprofile.metrics.Metadata metadata,
                                                            org.eclipse.microprofile.metrics.Tag... tags)
        Specified by:
        timer in interface org.eclipse.microprofile.metrics.MetricRegistry
      • timer

        public org.eclipse.microprofile.metrics.Timer timer​(String name)
        Specified by:
        timer in interface org.eclipse.microprofile.metrics.MetricRegistry
      • timer

        public org.eclipse.microprofile.metrics.Timer timer​(org.eclipse.microprofile.metrics.Metadata metadata)
        Specified by:
        timer in interface org.eclipse.microprofile.metrics.MetricRegistry
      • timer

        public org.eclipse.microprofile.metrics.Timer timer​(org.eclipse.microprofile.metrics.MetricID metricID)
        Specified by:
        timer in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getCounter

        public org.eclipse.microprofile.metrics.Counter getCounter​(org.eclipse.microprofile.metrics.MetricID metricID)
        Specified by:
        getCounter in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getGauge

        public org.eclipse.microprofile.metrics.Gauge<?> getGauge​(org.eclipse.microprofile.metrics.MetricID metricID)
        Specified by:
        getGauge in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getHistogram

        public org.eclipse.microprofile.metrics.Histogram getHistogram​(org.eclipse.microprofile.metrics.MetricID metricID)
        Specified by:
        getHistogram in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getTimer

        public org.eclipse.microprofile.metrics.Timer getTimer​(org.eclipse.microprofile.metrics.MetricID metricID)
        Specified by:
        getTimer in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getMetric

        public org.eclipse.microprofile.metrics.Metric getMetric​(org.eclipse.microprofile.metrics.MetricID metricID)
        Specified by:
        getMetric in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getMetricIDs

        public SortedSet<org.eclipse.microprofile.metrics.MetricID> getMetricIDs()
        Specified by:
        getMetricIDs in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getNames

        public SortedSet<String> getNames()
        Specified by:
        getNames in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getGauges

        public SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Gauge> getGauges()
        Specified by:
        getGauges in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getGauges

        public SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Gauge> getGauges​(org.eclipse.microprofile.metrics.MetricFilter filter)
        Specified by:
        getGauges in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getCounters

        public SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Counter> getCounters()
        Specified by:
        getCounters in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getCounters

        public SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Counter> getCounters​(org.eclipse.microprofile.metrics.MetricFilter filter)
        Specified by:
        getCounters in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getHistograms

        public SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Histogram> getHistograms()
        Specified by:
        getHistograms in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getHistograms

        public SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Histogram> getHistograms​(org.eclipse.microprofile.metrics.MetricFilter filter)
        Specified by:
        getHistograms in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getTimers

        public SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Timer> getTimers()
        Specified by:
        getTimers in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getTimers

        public SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Timer> getTimers​(org.eclipse.microprofile.metrics.MetricFilter filter)
        Specified by:
        getTimers in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getMetrics

        public Map<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Metric> getMetrics()
        Specified by:
        getMetrics in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getMetadata

        public Map<String,​org.eclipse.microprofile.metrics.Metadata> getMetadata()
        Specified by:
        getMetadata in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getScope

        public String getScope()
        Specified by:
        getScope in interface org.eclipse.microprofile.metrics.MetricRegistry
      • remove

        public boolean remove​(String name)
        Specified by:
        remove in interface org.eclipse.microprofile.metrics.MetricRegistry
      • remove

        public boolean remove​(org.eclipse.microprofile.metrics.MetricID metricID)
        Specified by:
        remove in interface org.eclipse.microprofile.metrics.MetricRegistry
      • removeMatching

        public void removeMatching​(org.eclipse.microprofile.metrics.MetricFilter filter)
        Specified by:
        removeMatching in interface org.eclipse.microprofile.metrics.MetricRegistry
      • validateTags

        public static void validateTags​(org.eclipse.microprofile.metrics.Tag[] tags)
        This method validates if the mp_scope and the mp_app tag names are used for the metric. If that is the case this will throw an IllegalArgumentException indicating that those are reserved tag names
        Parameters:
        tags - the array of available tags for the metric before to be created
      • register

        public <T extends org.eclipse.microprofile.metrics.Metric> T register​(org.eclipse.microprofile.metrics.Metadata metadata,
                                                                              String metricType,
                                                                              T metric,
                                                                              org.eclipse.microprofile.metrics.Tag... tags)
                                                                       throws IllegalArgumentException
        Throws:
        IllegalArgumentException
      • checkSameType

        public <T extends org.eclipse.microprofile.metrics.Metric> void checkSameType​(org.eclipse.microprofile.metrics.MetricID metricID,
                                                                                      String metricType,
                                                                                      ConcurrentMap<org.eclipse.microprofile.metrics.MetricID,​?> metrics)
      • getMetricClassName

        public String getMetricClassName​(String name)
      • getMetricCustomScope

        public <T extends org.eclipse.microprofile.metrics.Metric> T getMetricCustomScope​(org.eclipse.microprofile.metrics.MetricID metricID,
                                                                                          Class<T> ofType,
                                                                                          String scope)
      • getMetric

        public <T extends org.eclipse.microprofile.metrics.Metric> T getMetric​(org.eclipse.microprofile.metrics.MetricID metricID,
                                                                               Class<T> ofType)
        Specified by:
        getMetric in interface org.eclipse.microprofile.metrics.MetricRegistry
      • verifyMetrics

        public <T extends org.eclipse.microprofile.metrics.Metric> T verifyMetrics​(org.eclipse.microprofile.metrics.MetricID metricID,
                                                                                   fish.payara.microprofile.metrics.impl.MetricRegistryImpl.MetricFamily<?> family)
      • getMetrics

        public <T extends org.eclipse.microprofile.metrics.Metric> SortedMap<org.eclipse.microprofile.metrics.MetricID,​T> getMetrics​(Class<T> ofType,
                                                                                                                                           org.eclipse.microprofile.metrics.MetricFilter filter)
        Specified by:
        getMetrics in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getMetrics

        public SortedMap<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Metric> getMetrics​(org.eclipse.microprofile.metrics.MetricFilter filter)
        Specified by:
        getMetrics in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getMetadata

        public org.eclipse.microprofile.metrics.Metadata getMetadata​(String name)
        Specified by:
        getMetadata in interface org.eclipse.microprofile.metrics.MetricRegistry
      • getMetricsIDs

        public Set<org.eclipse.microprofile.metrics.MetricID> getMetricsIDs​(String name)
      • getMetrics

        public Map<org.eclipse.microprofile.metrics.MetricID,​org.eclipse.microprofile.metrics.Metric> getMetrics​(String name)
      • isLambda

        public static boolean isLambda​(Object obj)