Class AbstractMetricService

  • Direct Known Subclasses:
    DoNothingMetricService

    public abstract class AbstractMetricService
    extends java.lang.Object
    MetricService is the entry to get all metric features.
    • Field Detail

      • metricConfig

        protected final MetricConfig metricConfig
        The config of metric service
      • compositeReporter

        protected CompositeReporter compositeReporter
        The metric reporter of metric service
      • internalReporter

        protected InternalIoTDBReporter internalReporter
        The internal reporter of metric service
      • metricSets

        protected java.util.List<IMetricSet> metricSets
        The list of metric sets
    • Constructor Detail

      • AbstractMetricService

        public AbstractMetricService()
    • Method Detail

      • startService

        public void startService()
        Start metric service
      • stopService

        public void stopService()
        Stop metric service
      • startCoreModule

        protected void startCoreModule()
        Start metric core module
      • stopCoreModule

        protected void stopCoreModule()
        Stop metric core module
      • loadReporter

        protected void loadReporter()
        Load metric reporters according to configuration
      • reloadInternalReporter

        public abstract void reloadInternalReporter​(InternalIoTDBReporter internalReporter)
        Reload internal reporter
        Parameters:
        internalReporter - the new internal reporter
      • reloadService

        protected abstract void reloadService​(ReloadLevel reloadLevel)
        Reload metric service
        Parameters:
        reloadLevel - the level of reload
      • startAllReporter

        public void startAllReporter()
        Start all reporters
      • stopAllReporter

        public void stopAllReporter()
        Stop all reporters
      • start

        public void start​(ReporterType type)
        Start reporter according to type
      • stop

        public void stop​(ReporterType type)
        Stop reporter according to type
      • getOrCreateCounter

        public Counter getOrCreateCounter​(java.lang.String metric,
                                          MetricLevel metricLevel,
                                          java.lang.String... tags)
      • createAutoGauge

        public <T> AutoGauge createAutoGauge​(java.lang.String metric,
                                             MetricLevel metricLevel,
                                             T obj,
                                             java.util.function.ToLongFunction<T> mapper,
                                             java.lang.String... tags)
      • getAutoGauge

        public <T> AutoGauge getAutoGauge​(java.lang.String metric,
                                          MetricLevel metricLevel,
                                          java.lang.String... tags)
      • getOrCreateGauge

        public Gauge getOrCreateGauge​(java.lang.String metric,
                                      MetricLevel metricLevel,
                                      java.lang.String... tags)
      • getOrCreateRate

        public Rate getOrCreateRate​(java.lang.String metric,
                                    MetricLevel metricLevel,
                                    java.lang.String... tags)
      • getOrCreateHistogram

        public Histogram getOrCreateHistogram​(java.lang.String metric,
                                              MetricLevel metricLevel,
                                              java.lang.String... tags)
      • getOrCreateTimer

        public Timer getOrCreateTimer​(java.lang.String metric,
                                      MetricLevel metricLevel,
                                      java.lang.String... tags)
      • count

        public void count​(long delta,
                          java.lang.String metric,
                          MetricLevel metricLevel,
                          java.lang.String... tags)
      • gauge

        public void gauge​(long value,
                          java.lang.String metric,
                          MetricLevel metricLevel,
                          java.lang.String... tags)
      • rate

        public void rate​(long value,
                         java.lang.String metric,
                         MetricLevel metricLevel,
                         java.lang.String... tags)
      • histogram

        public void histogram​(long value,
                              java.lang.String metric,
                              MetricLevel metricLevel,
                              java.lang.String... tags)
      • timer

        public void timer​(long delta,
                          java.util.concurrent.TimeUnit timeUnit,
                          java.lang.String metric,
                          MetricLevel metricLevel,
                          java.lang.String... tags)
      • getOrCreateCounterWithInternalReport

        public Counter getOrCreateCounterWithInternalReport​(java.lang.String metric,
                                                            MetricLevel metricLevel,
                                                            java.lang.String... tags)
        GetOrCreateCounter with internal report
      • createAutoGaugeWithInternalReport

        public <T> AutoGauge createAutoGaugeWithInternalReport​(java.lang.String metric,
                                                               MetricLevel metricLevel,
                                                               T obj,
                                                               java.util.function.ToLongFunction<T> mapper,
                                                               java.lang.String... tags)
        GetOrCreateAutoGauge with internal report
      • getOrCreateGaugeWithInternalReport

        public Gauge getOrCreateGaugeWithInternalReport​(java.lang.String metric,
                                                        MetricLevel metricLevel,
                                                        java.lang.String... tags)
        GetOrCreateGauge with internal report
      • getOrCreateRateWithInternalReport

        public Rate getOrCreateRateWithInternalReport​(java.lang.String metric,
                                                      MetricLevel metricLevel,
                                                      java.lang.String... tags)
        GetOrCreateRate with internal report
      • getOrCreateHistogramWithInternalReport

        public Histogram getOrCreateHistogramWithInternalReport​(java.lang.String metric,
                                                                MetricLevel metricLevel,
                                                                java.lang.String... tags)
        GetOrCreateHistogram with internal report
      • getOrCreateTimerWithInternalReport

        public Timer getOrCreateTimerWithInternalReport​(java.lang.String metric,
                                                        MetricLevel metricLevel,
                                                        java.lang.String... tags)
        GetOrCreateTimer with internal report
      • countWithInternalReport

        public void countWithInternalReport​(long delta,
                                            java.lang.String metric,
                                            MetricLevel metricLevel,
                                            java.lang.String... tags)
        Count with internal report
      • gaugeWithInternalReport

        public void gaugeWithInternalReport​(long value,
                                            java.lang.String metric,
                                            MetricLevel metricLevel,
                                            java.lang.String... tags)
        Gauge value with internal report
      • rateWithInternalReport

        public void rateWithInternalReport​(long value,
                                           java.lang.String metric,
                                           MetricLevel metricLevel,
                                           java.lang.String... tags)
        Rate with internal report
      • histogramWithInternalReport

        public void histogramWithInternalReport​(long value,
                                                java.lang.String metric,
                                                MetricLevel metricLevel,
                                                java.lang.String... tags)
        Histogram with internal report
      • timerWithInternalReport

        public void timerWithInternalReport​(long delta,
                                            java.util.concurrent.TimeUnit timeUnit,
                                            java.lang.String metric,
                                            MetricLevel metricLevel,
                                            java.lang.String... tags)
        Timer with internal report
      • getAllMetricKeys

        public java.util.List<org.apache.iotdb.tsfile.utils.Pair<java.lang.String,​java.lang.String[]>> getAllMetricKeys()
      • remove

        public void remove​(MetricType type,
                           java.lang.String metric,
                           java.lang.String... tags)
      • addMetricSet

        public void addMetricSet​(IMetricSet metricSet)
        Bind metrics and store metric set
      • removeMetricSet

        public void removeMetricSet​(IMetricSet metricSet)
        Remove metrics