This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new 8a56402 [metrics] add Counter::Reset() method
8a56402 is described below
commit 8a564024a9580d89826e5dc12520ea9a816c65f3
Author: Alexey Serbin <[email protected]>
AuthorDate: Wed Jul 1 11:21:34 2020 -0700
[metrics] add Counter::Reset() method
Added functionality to reset a counter and corresponding unit test.
I'm planning to use this new functionality in a follow-up changelist.
Change-Id: Ia652385a75ebf0bf0ccdbffe183b8b7053c0d2e3
Reviewed-on: http://gerrit.cloudera.org:8080/16133
Reviewed-by: Bankim Bhavsar <[email protected]>
Tested-by: Kudu Jenkins
---
src/kudu/util/metrics-test.cc | 15 +++++++++++++++
src/kudu/util/metrics.h | 5 +++++
2 files changed, 20 insertions(+)
diff --git a/src/kudu/util/metrics-test.cc b/src/kudu/util/metrics-test.cc
index 5664a4f..e80a2d5 100644
--- a/src/kudu/util/metrics-test.cc
+++ b/src/kudu/util/metrics-test.cc
@@ -116,6 +116,21 @@ TEST_F(MetricsTest, SimpleCounterMergeTest) {
ASSERT_EQ(14, requests_for_merge->value());
}
+TEST_F(MetricsTest, ResetCounter) {
+ scoped_refptr<Counter> c(new Counter(&METRIC_test_counter));
+ ASSERT_EQ(0, c->value());
+ c->Increment();
+ ASSERT_EQ(1, c->value());
+ c->Reset();
+ ASSERT_EQ(0, c->value());
+ c->IncrementBy(2);
+ ASSERT_EQ(2, c->value());
+ c->IncrementBy(-1);
+ ASSERT_EQ(1, c->value());
+ c->Reset();
+ ASSERT_EQ(0, c->value());
+}
+
METRIC_DEFINE_gauge_string(test_entity, test_string_gauge, "Test string Gauge",
MetricUnit::kState, "Description of string Gauge",
kudu::MetricLevel::kInfo);
diff --git a/src/kudu/util/metrics.h b/src/kudu/util/metrics.h
index ab31113..3d1b98a 100644
--- a/src/kudu/util/metrics.h
+++ b/src/kudu/util/metrics.h
@@ -1372,7 +1372,12 @@ class Counter : public Metric {
IncrementBy(down_cast<Counter *>(other.get())->value());
}
+ virtual void Reset() {
+ value_.Reset();
+ }
+
private:
+ FRIEND_TEST(MetricsTest, ResetCounter);
FRIEND_TEST(MetricsTest, SimpleCounterTest);
FRIEND_TEST(MetricsTest, SimpleCounterMergeTest);
FRIEND_TEST(MultiThreadedMetricsTest, CounterIncrementTest);