You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2014/07/31 23:24:55 UTC
[07/50] folsom commit: updated refs/heads/import-master to 4824aec
Remove counters from folsom counters table on delete operation
Project: http://git-wip-us.apache.org/repos/asf/couchdb-folsom/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-folsom/commit/01eb3958
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-folsom/tree/01eb3958
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-folsom/diff/01eb3958
Branch: refs/heads/import-master
Commit: 01eb3958b73c9cd4a3a2773ebd142ccba0256ec3
Parents: 600dd78
Author: Diana Corbacho <di...@erlang-solutions.com>
Authored: Wed May 1 15:31:01 2013 +0100
Committer: Diana Corbacho <di...@erlang-solutions.com>
Committed: Wed May 1 15:31:01 2013 +0100
----------------------------------------------------------------------
src/folsom_ets.erl | 2 +-
src/folsom_metrics_counter.erl | 8 +++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-folsom/blob/01eb3958/src/folsom_ets.erl
----------------------------------------------------------------------
diff --git a/src/folsom_ets.erl b/src/folsom_ets.erl
index 8a223c5..8c1e66d 100644
--- a/src/folsom_ets.erl
+++ b/src/folsom_ets.erl
@@ -280,7 +280,7 @@ delete_metric(Name, duration) ->
true = ets:delete(?FOLSOM_TABLE, Name),
ok;
delete_metric(Name, counter) ->
- true = ets:delete(?COUNTER_TABLE, Name),
+ ok = folsom_metrics_counter:delete(Name),
true = ets:delete(?FOLSOM_TABLE, Name),
ok;
delete_metric(Name, gauge) ->
http://git-wip-us.apache.org/repos/asf/couchdb-folsom/blob/01eb3958/src/folsom_metrics_counter.erl
----------------------------------------------------------------------
diff --git a/src/folsom_metrics_counter.erl b/src/folsom_metrics_counter.erl
index 1861ffe..ebef6a3 100644
--- a/src/folsom_metrics_counter.erl
+++ b/src/folsom_metrics_counter.erl
@@ -30,7 +30,8 @@
dec/1,
dec/2,
get_value/1,
- clear/1]).
+ clear/1,
+ delete/1]).
-define(WIDTH, 16). %% Keep this a power of two
@@ -59,6 +60,11 @@ get_value(Name) ->
clear(Name) ->
new(Name).
+delete(Name) ->
+ Counters = [{Name,N} || N <- lists:seq(0,?WIDTH-1)],
+ [ets:delete(?COUNTER_TABLE, Counter) || Counter <- Counters],
+ ok.
+
key(Name) ->
X = erlang:system_info(scheduler_id),
Rnd = X band (?WIDTH-1),