You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2021/02/10 07:25:04 UTC
[iotdb] branch feature/metric2021 updated: rename metrics
This is an automated email from the ASF dual-hosted git repository.
hxd pushed a commit to branch feature/metric2021
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/feature/metric2021 by this push:
new af86a4d rename metrics
af86a4d is described below
commit af86a4d6e8c6ef4e2a4a3c36912eebff2390ab91
Author: xiangdong huang <sa...@gmail.com>
AuthorDate: Wed Feb 10 15:24:28 2021 +0800
rename metrics
---
.../org/apache/iotdb/metrics/MetricFactory.java | 4 +-
.../org/apache/iotdb/metrics/MetricManager.java | 101 ++++++++-------------
.../org/apache/iotdb/metrics/MetricRegistry.java | 40 --------
.../{MetricManager.java => MetricService.java} | 6 +-
.../iotdb/metrics/impl/DoNothingFactory.java | 8 +-
...icRegistry.java => DoNothingMetricManager.java} | 41 ++++++---
.../org/apache/iotdb/metrics/type/Counter.java | 2 +-
.../java/org/apache/iotdb/metrics/type/Gauge.java | 5 +-
.../org/apache/iotdb/metrics/type/Histogram.java | 4 +-
.../type/{Snapshot.java => HistogramSnapshot.java} | 7 +-
.../metrics/type/{Metric.java => IMetric.java} | 2 +-
.../iotdb/metrics/type/{Meter.java => Rate.java} | 2 +-
.../java/org/apache/iotdb/metrics/type/Timer.java | 6 +-
13 files changed, 89 insertions(+), 139 deletions(-)
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricFactory.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricFactory.java
index 909afd7..7604418 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricFactory.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricFactory.java
@@ -11,10 +11,10 @@ public interface MetricFactory {
* @param namespace
* @return
*/
- MetricRegistry getMetric(String namespace);
+ MetricManager getMetric(String namespace);
void enableKnownMetric(KnownMetric metric);
- Map<String, MetricRegistry> getAllMetrics();
+ Map<String, MetricManager> getAllMetrics();
boolean isEnable();
}
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricManager.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricManager.java
index 5b3c1b4..786f47b 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricManager.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricManager.java
@@ -1,67 +1,42 @@
package org.apache.iotdb.metrics;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.ServiceLoader;
-import org.apache.iotdb.metrics.impl.DoNothingFactory;
-
-public class MetricManager {
-
- private static List<MetricReporter> reporters = new ArrayList<>();
-
- private static MetricFactory factory;
-
- static {
- init();
- }
-
- private static void init() {
+import org.apache.iotdb.metrics.type.Counter;
+import org.apache.iotdb.metrics.type.Gauge;
+import org.apache.iotdb.metrics.type.Histogram;
+import org.apache.iotdb.metrics.type.Rate;
+import org.apache.iotdb.metrics.type.IMetric;
+import org.apache.iotdb.metrics.type.Timer;
- ServiceLoader<MetricReporter> reporter = ServiceLoader.load(MetricReporter.class);
- for (MetricReporter r : reporter) {
- reporters.add(r);
- r.start();
- }
-
- ServiceLoader<MetricFactory> metricFactories = ServiceLoader.load(MetricFactory.class);
- int size = 0;
- MetricFactory nothingFactory = null;
-
- for (MetricFactory mf : metricFactories) {
- if (mf instanceof DoNothingFactory) {
- nothingFactory = mf;
- continue;
- }
- size ++;
- if (size > 1) {
- throw new RuntimeException("More than one Metric Implementation is detected.");
- }
- factory = mf;
- }
-
- // if no more implementation, we use nothingFactory.
- if (size == 0) {
- factory = nothingFactory;
- }
- }
-
- public static void stop() {
- for (MetricReporter r : reporters) {
- r.stop();
- }
- }
-
- public static MetricRegistry getMetric(String namespace) {
- return factory.getMetric(namespace);
- }
- public static void enableKnownMetric(KnownMetric metric) {
- factory.enableKnownMetric(metric);
- }
- public static Map<String, MetricRegistry> getAllMetrics() {
- return factory.getAllMetrics();
- }
- public static boolean isEnable() {
- return factory.isEnable();
- }
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+public interface MetricManager {
+
+ Counter counter(String metric, String... tags);
+ Gauge gauge(String metric, String... tags);
+ Histogram histogram(String metric, String... tags);
+ Rate rate(String metric, String... tags);
+ Timer timer(String metric, String... tags);
+
+ //metric.counter(5, "insertRecords","interface","insertRecords","sg","sg1");
+ void count(int delta, String metric, String... tags);
+ void count(long delta, String metric, String... tags);
+ void histogram(int value, String metric, String... tags);
+ void histogram(long value, String metric, String... tags);
+ void gauge(int value, String metric, String... tags);
+ void gauge(long value, String metric, String... tags);
+ void meter(int value, String metric, String... tags);
+ void meter(long value, String metric, String... tags);
+ void timer(long delta, TimeUnit timeUnit, String metric, String... tags);
+ void timerStart(String metric, String... tags);
+ void timerEnd(String metric, String... tags);
+
+ Map<String, String[]> getAllMetricKeys();
+
+ // key is name + tags
+ Map<String[], Counter> getAllCounters();
+ Map<String[], Gauge> getAllGauges();
+ Map<String[], Rate> getAllMeters();
+ Map<String[], Histogram> getAllHistograms();
+ Map<String[], Timer> getAllTimers();
}
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricRegistry.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricRegistry.java
deleted file mode 100644
index b61d5b6..0000000
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricRegistry.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.iotdb.metrics;
-
-import org.apache.iotdb.metrics.type.Counter;
-import org.apache.iotdb.metrics.type.Gauge;
-import org.apache.iotdb.metrics.type.Histogram;
-import org.apache.iotdb.metrics.type.Meter;
-import org.apache.iotdb.metrics.type.Metric;
-import org.apache.iotdb.metrics.type.Timer;
-
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-public interface MetricRegistry {
- //metric.counter(5, "insertRecords","interface","insertRecords","sg","sg1");
- void count(int delta, String metric, String... tags);
- void count(long delta, String metric, String... tags);
- void histogram(int value, String metric, String... tags);
- void histogram(long value, String metric, String... tags);
- void gauge(int value, String metric, String... tags);
- void gauge(long value, String metric, String... tags);
- void meter(int value, String metric, String... tags);
- void meter(long value, String metric, String... tags);
- void timer(long delta, TimeUnit timeUnit, String metric, String... tags);
- void timerStart(String metric, String... tags);
- void timerEnd(String metric, String... tags);
-
-
- Map<String, String[]> getAllMetricKeys();
- Metric getMetricValue(String metric, String... tags);
-// Object getMetricValue (String metric, String... tags);
-// Object getMetricHistogram (String metric, String... tags);
-// Object getMetricTimer (String metric, String... tags);
-
- // key is name + tags
- Map<String[], Counter> getAllCounters();
- Map<String[], Gauge> getAllGauges();
- Map<String[], Meter> getAllMeters();
- Map<String[], Histogram> getAllHistograms();
- Map<String[], Timer> getAllTimers();
-}
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricManager.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricService.java
similarity index 90%
copy from metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricManager.java
copy to metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricService.java
index 5b3c1b4..4a6056d 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricManager.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/MetricService.java
@@ -6,7 +6,7 @@ import java.util.Map;
import java.util.ServiceLoader;
import org.apache.iotdb.metrics.impl.DoNothingFactory;
-public class MetricManager {
+public class MetricService {
private static List<MetricReporter> reporters = new ArrayList<>();
@@ -52,13 +52,13 @@ public class MetricManager {
}
}
- public static MetricRegistry getMetric(String namespace) {
+ public static MetricManager getMetric(String namespace) {
return factory.getMetric(namespace);
}
public static void enableKnownMetric(KnownMetric metric) {
factory.enableKnownMetric(metric);
}
- public static Map<String, MetricRegistry> getAllMetrics() {
+ public static Map<String, MetricManager> getAllMetrics() {
return factory.getAllMetrics();
}
public static boolean isEnable() {
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/impl/DoNothingFactory.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/impl/DoNothingFactory.java
index 9eb267e..9f1e54e 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/impl/DoNothingFactory.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/impl/DoNothingFactory.java
@@ -4,12 +4,12 @@ import java.util.Collections;
import java.util.Map;
import org.apache.iotdb.metrics.MetricFactory;
import org.apache.iotdb.metrics.KnownMetric;
-import org.apache.iotdb.metrics.MetricRegistry;
+import org.apache.iotdb.metrics.MetricManager;
public class DoNothingFactory implements MetricFactory {
- private DoNothingMetricRegistry metric = new DoNothingMetricRegistry();
+ private DoNothingMetricManager metric = new DoNothingMetricManager();
@Override
- public MetricRegistry getMetric(String namespace) {
+ public MetricManager getMetric(String namespace) {
return metric;
}
@@ -19,7 +19,7 @@ public class DoNothingFactory implements MetricFactory {
}
@Override
- public Map<String, MetricRegistry> getAllMetrics() {
+ public Map<String, MetricManager> getAllMetrics() {
return Collections.emptyMap();
}
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/impl/DoNothingMetricRegistry.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/impl/DoNothingMetricManager.java
similarity index 72%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/impl/DoNothingMetricRegistry.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/impl/DoNothingMetricManager.java
index 322e238..6e25d29 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/impl/DoNothingMetricRegistry.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/impl/DoNothingMetricManager.java
@@ -1,17 +1,41 @@
package org.apache.iotdb.metrics.impl;
-import java.util.Collections;
import java.util.Map;
import java.util.concurrent.TimeUnit;
-import org.apache.iotdb.metrics.MetricRegistry;
+import org.apache.iotdb.metrics.MetricManager;
import org.apache.iotdb.metrics.type.Counter;
import org.apache.iotdb.metrics.type.Gauge;
import org.apache.iotdb.metrics.type.Histogram;
-import org.apache.iotdb.metrics.type.Meter;
-import org.apache.iotdb.metrics.type.Metric;
+import org.apache.iotdb.metrics.type.Rate;
+import org.apache.iotdb.metrics.type.IMetric;
import org.apache.iotdb.metrics.type.Timer;
-public class DoNothingMetricRegistry implements MetricRegistry {
+public class DoNothingMetricManager implements MetricManager {
+
+ @Override
+ public Counter counter(String metric, String... tags) {
+ return null;
+ }
+
+ @Override
+ public Gauge gauge(String metric, String... tags) {
+ return null;
+ }
+
+ @Override
+ public Histogram histogram(String metric, String... tags) {
+ return null;
+ }
+
+ @Override
+ public Rate rate(String metric, String... tags) {
+ return null;
+ }
+
+ @Override
+ public Timer timer(String metric, String... tags) {
+ return null;
+ }
@Override
public void count(int delta, String metric, String... tags) {
@@ -74,11 +98,6 @@ public class DoNothingMetricRegistry implements MetricRegistry {
}
@Override
- public Metric getMetricValue(String metric, String... tags) {
- return null;
- }
-
- @Override
public Map<String[], Counter> getAllCounters() {
return null;
}
@@ -89,7 +108,7 @@ public class DoNothingMetricRegistry implements MetricRegistry {
}
@Override
- public Map<String[], Meter> getAllMeters() {
+ public Map<String[], Rate> getAllMeters() {
return null;
}
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Counter.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Counter.java
index a75fb2b..cc4ac5e 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Counter.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Counter.java
@@ -18,7 +18,7 @@
*/
package org.apache.iotdb.metrics.type;
-public interface Counter extends Metric {
+public interface Counter extends IMetric {
void inc();
void inc(long n);
void dec();
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Gauge.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Gauge.java
index 9637ee5..4fe5ae3 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Gauge.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Gauge.java
@@ -18,6 +18,7 @@
*/
package org.apache.iotdb.metrics.type;
-public interface Gauge<T> extends Metric {
- T value();
+public interface Gauge extends IMetric {
+ long value();
+ void set(long value);
}
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Histogram.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Histogram.java
index edc85cf..a65ae37 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Histogram.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Histogram.java
@@ -18,10 +18,10 @@
*/
package org.apache.iotdb.metrics.type;
-public interface Histogram extends Metric {
+public interface Histogram extends IMetric {
void update(int value);
void update(long value);
long count();
- Snapshot takeSnapshot();
+ HistogramSnapshot takeSnapshot();
}
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Snapshot.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/HistogramSnapshot.java
similarity index 86%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Snapshot.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/type/HistogramSnapshot.java
index 3975b24..0317ff2 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Snapshot.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/HistogramSnapshot.java
@@ -23,7 +23,7 @@ import java.io.OutputStream;
/**
* used by Timer and Histogram
*/
-public interface Snapshot {
+public interface HistogramSnapshot {
public abstract double getValue(double quantile);
@@ -31,11 +31,6 @@ public interface Snapshot {
public abstract int size();
public double getMedian();
- public double get75thPercentile();
- public double get95thPercentile();
- public double get98thPercentile();
- public double get99thPercentile();
- public double get999thPercentile();
public abstract long getMax();
public abstract double getMean();
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Metric.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/IMetric.java
similarity index 96%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Metric.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/type/IMetric.java
index ff1d9fc..3646f73 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Metric.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/IMetric.java
@@ -18,5 +18,5 @@
*/
package org.apache.iotdb.metrics.type;
-public interface Metric {
+public interface IMetric {
}
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Meter.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Rate.java
similarity index 96%
rename from metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Meter.java
rename to metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Rate.java
index 0875dde..751b83c 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Meter.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Rate.java
@@ -18,7 +18,7 @@
*/
package org.apache.iotdb.metrics.type;
-public interface Meter extends Metric {
+public interface Rate extends IMetric {
long getCount();
double getOneMinuteRate();
double getMeanRate();
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Timer.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Timer.java
index 52ed45e..2f05b2a 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Timer.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/type/Timer.java
@@ -20,7 +20,7 @@ package org.apache.iotdb.metrics.type;
import java.util.concurrent.TimeUnit;
-public interface Timer extends Metric {
+public interface Timer extends IMetric {
void update(long duration, TimeUnit unit);
default void updateMillis(long durationMillis) {
@@ -35,7 +35,7 @@ public interface Timer extends Metric {
update(durationNanos, TimeUnit.NANOSECONDS);
}
- Snapshot takeSnapshot();
+ HistogramSnapshot takeSnapshot();
- Meter getMeter();
+ Rate getMeter();
}