This is an automated email from the ASF dual-hosted git repository. jlli pushed a commit to branch add-count-method-in-pinot-meter in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
commit 0f7bd7805fcf93f351198aabf76b8c5c88691a79 Author: Jack Li(Analytics Engineering) <[email protected]> AuthorDate: Sat Feb 27 17:35:53 2021 -0800 Add mark and count methods in PinotMeter interface --- .../pinot/common/metrics/yammer/YammerMeter.java | 10 ++++++++++ .../pinot/common/metrics/MetricsHelperTest.java | 22 +++++++++++++++++----- .../org/apache/pinot/spi/metrics/PinotMeter.java | 4 ++++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/pinot-common/src/main/java/org/apache/pinot/common/metrics/yammer/YammerMeter.java b/pinot-common/src/main/java/org/apache/pinot/common/metrics/yammer/YammerMeter.java index d480b43..92a350b 100644 --- a/pinot-common/src/main/java/org/apache/pinot/common/metrics/yammer/YammerMeter.java +++ b/pinot-common/src/main/java/org/apache/pinot/common/metrics/yammer/YammerMeter.java @@ -31,11 +31,21 @@ public class YammerMeter extends YammerMetered implements PinotMeter { } @Override + public void mark() { + _meter.mark(); + } + + @Override public void mark(long unitCount) { _meter.mark(unitCount); } @Override + public long count() { + return _meter.count(); + } + + @Override public Object getMetric() { return _meter; } diff --git a/pinot-common/src/test/java/org/apache/pinot/common/metrics/MetricsHelperTest.java b/pinot-common/src/test/java/org/apache/pinot/common/metrics/MetricsHelperTest.java index 5afe60d..24507c9 100644 --- a/pinot-common/src/test/java/org/apache/pinot/common/metrics/MetricsHelperTest.java +++ b/pinot-common/src/test/java/org/apache/pinot/common/metrics/MetricsHelperTest.java @@ -18,15 +18,14 @@ */ package org.apache.pinot.common.metrics; -import static org.testng.Assert.assertTrue; - import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; - import org.apache.pinot.common.exception.InvalidConfigException; +import org.apache.pinot.spi.metrics.PinotMeter; import org.apache.pinot.spi.metrics.PinotMetricsRegistry; import org.apache.pinot.spi.env.PinotConfiguration; +import org.testng.Assert; import org.testng.annotations.Test; @@ -73,7 +72,20 @@ public class MetricsHelperTest { TimeUnit.MILLISECONDS, TimeUnit.MILLISECONDS); // Check that the two listeners fired - assertTrue(listenerOneOkay); - assertTrue(listenerTwoOkay); + Assert.assertTrue(listenerOneOkay); + Assert.assertTrue(listenerTwoOkay); + } + + @Test + public void testMetricValue() { + PinotMetricsRegistry registry = PinotMetricUtils.getPinotMetricsRegistry(); + PinotMeter pinotMeter = MetricsHelper + .newMeter(registry, PinotMetricUtils.generatePinotMetricName(MetricsHelperTest.class, "testMeter"), "testMeter", + TimeUnit.MILLISECONDS); + pinotMeter.mark(); + Assert.assertEquals(pinotMeter.count(), 1L); + + pinotMeter.mark(2L); + Assert.assertEquals(pinotMeter.count(), 3L); } } diff --git a/pinot-spi/src/main/java/org/apache/pinot/spi/metrics/PinotMeter.java b/pinot-spi/src/main/java/org/apache/pinot/spi/metrics/PinotMeter.java index f7b9c94..778e32e 100644 --- a/pinot-spi/src/main/java/org/apache/pinot/spi/metrics/PinotMeter.java +++ b/pinot-spi/src/main/java/org/apache/pinot/spi/metrics/PinotMeter.java @@ -26,5 +26,9 @@ package org.apache.pinot.spi.metrics; */ public interface PinotMeter { + void mark(); + void mark(final long unitCount); + + long count(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
