diff options
Diffstat (limited to 'src/couchdb/couch_stats_collector.erl')
-rw-r--r-- | src/couchdb/couch_stats_collector.erl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/couchdb/couch_stats_collector.erl b/src/couchdb/couch_stats_collector.erl index ad5e9e9a..9139f6cb 100644 --- a/src/couchdb/couch_stats_collector.erl +++ b/src/couchdb/couch_stats_collector.erl @@ -24,7 +24,7 @@ -export([start/0, stop/0, get/1, increment/1, decrement/1, - track_process_count/1, + track_process_count/1, track_process_count/2, record/2, clear/1, all/0, all/1]). @@ -87,14 +87,15 @@ all(Type) -> absolute -> ets:tab2list(?ABSOLUTE_VALUE_COUNTER_TABLE) end. - track_process_count(Stat) -> + track_process_count(self(), Stat). + +track_process_count(Pid, Stat) -> case (catch couch_stats_collector:increment(Stat)) of ok -> - Self = self(), spawn( fun() -> - erlang:monitor(process, Self), + erlang:monitor(process, Pid), receive {'DOWN', _, _, _, _} -> ok end, couch_stats_collector:decrement(Stat) end); |