Package org.apache.iotdb.metrics
Class AbstractMetricService
- java.lang.Object
-
- org.apache.iotdb.metrics.AbstractMetricService
-
- Direct Known Subclasses:
DoNothingMetricService
public abstract class AbstractMetricService extends java.lang.ObjectMetricService is the entry to get all metric features.
-
-
Field Summary
Fields Modifier and Type Field Description protected CompositeReportercompositeReporterThe metric reporter of metric serviceprotected InternalIoTDBReporterinternalReporterThe internal reporter of metric serviceprotected MetricConfigmetricConfigThe config of metric serviceprotected AbstractMetricManagermetricManagerThe metric manager of metric serviceprotected java.util.List<IMetricSet>metricSetsThe list of metric sets
-
Constructor Summary
Constructors Constructor Description AbstractMetricService()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddMetricSet(IMetricSet metricSet)Bind metrics and store metric setvoidcount(long delta, java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)voidcountWithInternalReport(long delta, java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)Count with internal report<T> AutoGaugecreateAutoGauge(java.lang.String metric, MetricLevel metricLevel, T obj, java.util.function.ToLongFunction<T> mapper, java.lang.String... tags)<T> AutoGaugecreateAutoGaugeWithInternalReport(java.lang.String metric, MetricLevel metricLevel, T obj, java.util.function.ToLongFunction<T> mapper, java.lang.String... tags)GetOrCreateAutoGauge with internal reportvoidgauge(long value, java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)voidgaugeWithInternalReport(long value, java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)Gauge value with internal reportjava.util.List<org.apache.iotdb.tsfile.utils.Pair<java.lang.String,java.lang.String[]>>getAllMetricKeys()java.util.Map<MetricInfo,IMetric>getAllMetrics()<T> AutoGaugegetAutoGauge(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)AbstractMetricManagergetMetricManager()java.util.Map<MetricInfo,IMetric>getMetricsByType(MetricType metricType)CountergetOrCreateCounter(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)CountergetOrCreateCounterWithInternalReport(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)GetOrCreateCounter with internal reportGaugegetOrCreateGauge(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)GaugegetOrCreateGaugeWithInternalReport(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)GetOrCreateGauge with internal reportHistogramgetOrCreateHistogram(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)HistogramgetOrCreateHistogramWithInternalReport(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)GetOrCreateHistogram with internal reportRategetOrCreateRate(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)RategetOrCreateRateWithInternalReport(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)GetOrCreateRate with internal reportTimergetOrCreateTimer(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)TimergetOrCreateTimerWithInternalReport(java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)GetOrCreateTimer with internal reportvoidhistogram(long value, java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)voidhistogramWithInternalReport(long value, java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)Histogram with internal reportprotected voidloadReporter()Load metric reporters according to configurationvoidrate(long value, java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)voidrateWithInternalReport(long value, java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)Rate with internal reportabstract voidreloadInternalReporter(InternalIoTDBReporter internalReporter)Reload internal reporterprotected abstract voidreloadService(ReloadLevel reloadLevel)Reload metric servicevoidremove(MetricType type, java.lang.String metric, java.lang.String... tags)voidremoveMetricSet(IMetricSet metricSet)Remove metricsvoidstart(ReporterType type)Start reporter according to typevoidstartAllReporter()Start all reportersprotected voidstartCoreModule()Start metric core modulevoidstartService()Start metric servicevoidstop(ReporterType type)Stop reporter according to typevoidstopAllReporter()Stop all reportersprotected voidstopCoreModule()Stop metric core modulevoidstopService()Stop metric servicevoidtimer(long delta, java.util.concurrent.TimeUnit timeUnit, java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)voidtimerWithInternalReport(long delta, java.util.concurrent.TimeUnit timeUnit, java.lang.String metric, MetricLevel metricLevel, java.lang.String... tags)Timer with internal report
-
-
-
Field Detail
-
metricConfig
protected final MetricConfig metricConfig
The config of metric service
-
metricManager
protected AbstractMetricManager metricManager
The metric manager 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
-
-
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()
-
getAllMetrics
public java.util.Map<MetricInfo,IMetric> getAllMetrics()
-
getMetricsByType
public java.util.Map<MetricInfo,IMetric> getMetricsByType(MetricType metricType)
-
remove
public void remove(MetricType type, java.lang.String metric, java.lang.String... tags)
-
getMetricManager
public AbstractMetricManager getMetricManager()
-
addMetricSet
public void addMetricSet(IMetricSet metricSet)
Bind metrics and store metric set
-
removeMetricSet
public void removeMetricSet(IMetricSet metricSet)
Remove metrics
-
-