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

      • METRIC_CONFIG

        protected static final MetricConfig METRIC_CONFIG
        The config of metric service.
      • compositeReporter

        protected CompositeReporter compositeReporter
        The metric reporter of metric service.
      • internalReporter

        protected IoTDBInternalReporter internalReporter
        The internal reporter of metric service.
      • metricSets

        protected java.util.Set<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​(IoTDBInternalReporter 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.ToDoubleFunction<T> mapper,
                                             java.lang.String... tags)
      • getAutoGauge

        public 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.ToDoubleFunction<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.
      • countWithInternalReportAsync

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

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

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

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

        public void timerWithInternalReportAsync​(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.