Class PrometheusMetricProviderImpl

    • Constructor Detail

      • PrometheusMetricProviderImpl

        @Inject
        public PrometheusMetricProviderImpl​(io.prometheus.client.CollectorRegistry prometheusRegistry)
        Constructor. We force passing an existing CollectorRegistry instead of CollectorRegistry.defaultRegistry because defaultRegistry is static, which is a problem for use e.g. in tests.
    • Method Detail

      • close

        @PreDestroy
        public void close()
      • newMeter

        public Meter newMeter​(MetricDescriptor descriptor)
        Description copied from interface: MetricProvider
        Create new Meter metric without labels.
        Specified by:
        newMeter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        Returns:
        the Meter
      • newMeter

        public Labeled<Meter> newMeter​(MetricDescriptor descriptor,
                                       String labelName)
        Description copied from interface: MetricProvider
        Create new Meter metric with 1 label.
        Specified by:
        newMeter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        labelName - name of the (only) label of this metric
        Returns:
        an object from which a Meter can be obtained, given 1 label value
      • newMeter

        public Labeled<Labeled<Meter>> newMeter​(MetricDescriptor descriptor,
                                                String firstLabelName,
                                                String secondLabelName)
        Description copied from interface: MetricProvider
        Create new Meter metric with 2 labels.
        Specified by:
        newMeter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        firstLabelName - name of the 1st label of this metric
        secondLabelName - name of the 2nd label of this metric
        Returns:
        an object from which a Meter can be obtained, given 2 label values
      • newMeter

        public Labeled<Labeled<Labeled<Meter>>> newMeter​(MetricDescriptor descriptor,
                                                         String firstLabelName,
                                                         String secondLabelName,
                                                         String thirdLabelName)
        Description copied from interface: MetricProvider
        Create new Meter metric with 3 labels.
        Specified by:
        newMeter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        firstLabelName - name of the 1st label of this metric
        secondLabelName - name of the 2nd label of this metric
        thirdLabelName - name of the 3rd label of this metric
        Returns:
        an object from which a Meter can be obtained, given 3 label values
      • newMeter

        public Labeled<Labeled<Labeled<Labeled<Meter>>>> newMeter​(MetricDescriptor descriptor,
                                                                  String firstLabelName,
                                                                  String secondLabelName,
                                                                  String thirdLabelName,
                                                                  String fourthLabelName)
        Description copied from interface: MetricProvider
        Create new Meter metric with 4 labels.
        Specified by:
        newMeter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        firstLabelName - name of the 1st label of this metric
        secondLabelName - name of the 2nd label of this metric
        thirdLabelName - name of the 3rd label of this metric
        fourthLabelName - name of the 4th label of this metric
        Returns:
        an object from which a Meter can be obtained, given 3 label values
      • newMeter

        public Labeled<Labeled<Labeled<Labeled<Labeled<Meter>>>>> newMeter​(MetricDescriptor descriptor,
                                                                           String firstLabelName,
                                                                           String secondLabelName,
                                                                           String thirdLabelName,
                                                                           String fourthLabelName,
                                                                           String fifthLabelName)
        Description copied from interface: MetricProvider
        Create new Meter metric with 5 labels.
        Specified by:
        newMeter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        firstLabelName - name of the 1st label of this metric
        secondLabelName - name of the 2nd label of this metric
        thirdLabelName - name of the 3rd label of this metric
        fourthLabelName - name of the 4th label of this metric
        fifthLabelName - name of the 5th label of this metric
        Returns:
        an object from which a Meter can be obtained, given 3 label values
      • newCounter

        public Counter newCounter​(MetricDescriptor descriptor)
        Description copied from interface: MetricProvider
        Create new Counter metric without labels.
        Specified by:
        newCounter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        Returns:
        the Counter
      • newCounter

        public Labeled<Counter> newCounter​(MetricDescriptor descriptor,
                                           String labelName)
        Description copied from interface: MetricProvider
        Create new Counter metric with 1 label.
        Specified by:
        newCounter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        labelName - name of the (only) label of this metric
        Returns:
        an object from which a Counter can be obtained, given 1 label value
      • newCounter

        public Labeled<Labeled<Counter>> newCounter​(MetricDescriptor descriptor,
                                                    String firstLabelName,
                                                    String secondLabelName)
        Description copied from interface: MetricProvider
        Create new Counter metric with 2 labels.
        Specified by:
        newCounter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        firstLabelName - name of the 1st label of this metric
        secondLabelName - name of the 2nd label of this metric
        Returns:
        an object from which a Counter can be obtained, given 2 label values
      • newCounter

        public Labeled<Labeled<Labeled<Counter>>> newCounter​(MetricDescriptor descriptor,
                                                             String firstLabelName,
                                                             String secondLabelName,
                                                             String thirdLabelName)
        Description copied from interface: MetricProvider
        Create new Counter metric with 3 labels.
        Specified by:
        newCounter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        firstLabelName - name of the 1st label of this metric
        secondLabelName - name of the 2nd label of this metric
        thirdLabelName - name of the 3rd label of this metric
        Returns:
        an object from which a Counter can be obtained, given 3 label values
      • newCounter

        public Labeled<Labeled<Labeled<Labeled<Counter>>>> newCounter​(MetricDescriptor descriptor,
                                                                      String firstLabelName,
                                                                      String secondLabelName,
                                                                      String thirdLabelName,
                                                                      String fourthLabelName)
        Description copied from interface: MetricProvider
        Create new Counter metric with 4 labels.
        Specified by:
        newCounter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        firstLabelName - name of the 1st label of this metric
        secondLabelName - name of the 2nd label of this metric
        thirdLabelName - name of the 3rd label of this metric
        fourthLabelName - name of the 4th label of this metric
        Returns:
        an object from which a Counter can be obtained, given 4 label values
      • newCounter

        public Labeled<Labeled<Labeled<Labeled<Labeled<Counter>>>>> newCounter​(MetricDescriptor descriptor,
                                                                               String firstLabelName,
                                                                               String secondLabelName,
                                                                               String thirdLabelName,
                                                                               String fourthLabelName,
                                                                               String fifthLabelName)
        Description copied from interface: MetricProvider
        Create new Counter metric with 5 labels.
        Specified by:
        newCounter in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        firstLabelName - name of the 1st label of this metric
        secondLabelName - name of the 2nd label of this metric
        thirdLabelName - name of the 3rd label of this metric
        fourthLabelName - name of the 4th label of this metric
        fifthLabelName - name of the 5th label of this metric
        Returns:
        an object from which a Counter can be obtained, given 5 label values
      • newTimer

        public Timer newTimer​(MetricDescriptor descriptor)
        Description copied from interface: MetricProvider
        Create new Timer metric without labels.
        Specified by:
        newTimer in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        Returns:
        the Timer
      • newTimer

        public Labeled<Timer> newTimer​(MetricDescriptor descriptor,
                                       String labelName)
        Description copied from interface: MetricProvider
        Create new Timer metric with 1 label.
        Specified by:
        newTimer in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        labelName - name of the (only) label of this metric
        Returns:
        an object from which a Timer can be obtained, given 1 label value
      • newTimer

        public Labeled<Labeled<Timer>> newTimer​(MetricDescriptor descriptor,
                                                String firstLabelName,
                                                String secondLabelName)
        Description copied from interface: MetricProvider
        Create new Timer metric with 2 labels.
        Specified by:
        newTimer in interface MetricProvider
        Parameters:
        descriptor - a MetricDescriptor, typically created via MetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
        firstLabelName - name of the 1st label of this metric
        secondLabelName - name of the 2nd label of this metric
        Returns:
        an object from which a Timer can be obtained, given 2 label values