Merge pull request #46 from basho/rdb-counter-clear
Expose the clear/1 fun from counter in the folsom api
diff --git a/src/folsom_ets.erl b/src/folsom_ets.erl
index 65f1678..2e6eb5e 100644
--- a/src/folsom_ets.erl
+++ b/src/folsom_ets.erl
@@ -315,6 +315,13 @@
add_handler(counter, Name),
folsom_metrics_counter:dec(Name, Value),
ok;
+notify(Name, clear, counter, true) ->
+ folsom_metrics_counter:clear(Name),
+ ok;
+notify(Name, clear, counter, false) ->
+ add_handler(counter, Name),
+ folsom_metrics_counter:clear(Name),
+ ok;
notify(Name, Value, gauge, true) ->
folsom_metrics_gauge:update(Name, Value),
ok;
diff --git a/test/folsom_erlang_checks.erl b/test/folsom_erlang_checks.erl
index 101f78c..dc580a9 100644
--- a/test/folsom_erlang_checks.erl
+++ b/test/folsom_erlang_checks.erl
@@ -46,6 +46,7 @@
create_metrics() ->
ok = folsom_metrics:new_counter(counter),
+ ok = folsom_metrics:new_counter(counter2),
ok = folsom_metrics:new_gauge(<<"gauge">>),
ok = folsom_metrics:new_histogram(<<"uniform">>, uniform, 5000),
@@ -90,6 +91,9 @@
ok = folsom_metrics:notify({counter, {inc, 1}}),
ok = folsom_metrics:notify({counter, {dec, 1}}),
+ ok = folsom_metrics:notify({counter2, {inc, 10}}),
+ ok = folsom_metrics:notify({counter2, {dec, 7}}),
+
ok = folsom_metrics:notify({<<"gauge">>, 2}),
[ok = folsom_metrics:notify({<<"uniform">>, Value}) || Value <- ?DATA],
@@ -146,6 +150,12 @@
check_metrics() ->
0 = folsom_metrics:get_metric_value(counter),
+ 3 = folsom_metrics:get_metric_value(counter2),
+
+ ok = folsom_metrics:notify_existing_metric(counter2, clear, counter),
+
+ 0 = folsom_metrics:get_metric_value(counter2),
+
2 = folsom_metrics:get_metric_value(<<"gauge">>),
Histogram1 = folsom_metrics:get_histogram_statistics(<<"uniform">>),
@@ -219,6 +229,7 @@
16 = length(ets:tab2list(?FOLSOM_TABLE)),
ok = folsom_metrics:delete_metric(counter),
+ ok = folsom_metrics:delete_metric(counter2),
ok = folsom_metrics:delete_metric(<<"gauge">>),
ok = folsom_metrics:delete_metric(<<"hugedata">>),