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">>),