I would love to see a pluggable mechanism at several points where you simply 
want to inject some logic but continue on with the normal flow. I removed a few 
from the commits I was posting as well.  So maybe once this is working we can 
come back to where it makes sense to do so on a separate feature.

</JamesM>


> On Dec 21, 2013, at 3:48, "Robert Newson" <[email protected]> wrote:
> 
> Agreed! The new work on 1843-feature-bigcouch is aimed at getting a runnable 
> cluster with basic CRUD, I expect we’ll come back to each commit for tidying 
> up or, such as in this case, added a pluggable mechanism for general use. You 
> only have to look at some of my other commits to see that I’m cutting corners 
> right now. make dev currently works to the point where databases can be 
> created, but doc creation crashes. I’m sure it’s simple but I’ve not had time 
> to fix it.
> 
> B.
> 
>> On 20 Dec 2013, at 22:02, Adam Kocoloski <[email protected]> wrote:
>> 
>> I would love to see a smarter solution here that avoids the need for 
>> Cloudant to fork {rexi, fabric, mem3} just to add instrumentation.
>> 
>> Adam
>> 
>>> On Dec 19, 2013, at 1:21 PM, [email protected] wrote:
>>> 
>>> Updated Branches:
>>> refs/heads/1843-feature-bigcouch fee7cbfc4 -> d260381c1
>>> 
>>> 
>>> Remove references to margaret
>>> 
>>> 
>>> Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
>>> Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/d260381c
>>> Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/d260381c
>>> Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/d260381c
>>> 
>>> Branch: refs/heads/1843-feature-bigcouch
>>> Commit: d260381c1226ede102ccfdb1c23114ec73c8c4b6
>>> Parents: fee7cbf
>>> Author: Robert Newson <[email protected]>
>>> Authored: Thu Dec 19 18:16:58 2013 +0000
>>> Committer: Robert Newson <[email protected]>
>>> Committed: Thu Dec 19 18:20:32 2013 +0000
>>> 
>>> ----------------------------------------------------------------------
>>> src/ddoc_cache/src/ddoc_cache.erl | 3 ---
>>> src/mem3/src/mem3_shards.erl      | 3 ---
>>> src/rexi/src/rexi_governor.erl    | 2 --
>>> 3 files changed, 8 deletions(-)
>>> ----------------------------------------------------------------------
>>> 
>>> 
>>> http://git-wip-us.apache.org/repos/asf/couchdb/blob/d260381c/src/ddoc_cache/src/ddoc_cache.erl
>>> ----------------------------------------------------------------------
>>> diff --git a/src/ddoc_cache/src/ddoc_cache.erl 
>>> b/src/ddoc_cache/src/ddoc_cache.erl
>>> index ec119f1..685a368 100644
>>> --- a/src/ddoc_cache/src/ddoc_cache.erl
>>> +++ b/src/ddoc_cache/src/ddoc_cache.erl
>>> @@ -45,10 +45,8 @@ open(DbName, DDocId) when is_binary(DDocId) ->
>>> open(Key) ->
>>> try ets_lru:lookup_d(?CACHE, Key) of
>>>     {ok, _} = Resp ->
>>> -            margaret_counter:increment([ddoc_cache, hit]),
>>>         Resp;
>>>     _ ->
>>> -            margaret_counter:increment([ddoc_cache, miss]),
>>>         case gen_server:call(?OPENER, {open, Key}, infinity) of
>>>             {open_ok, Resp} ->
>>>                 Resp;
>>> @@ -61,7 +59,6 @@ open(Key) ->
>>>         end
>>> catch
>>>     error:badarg ->
>>> -            margaret_counter:increment([ddoc_cache, recovery]),
>>>         recover(Key)
>>> end.
>>> 
>>> 
>>> http://git-wip-us.apache.org/repos/asf/couchdb/blob/d260381c/src/mem3/src/mem3_shards.erl
>>> ----------------------------------------------------------------------
>>> diff --git a/src/mem3/src/mem3_shards.erl b/src/mem3/src/mem3_shards.erl
>>> index 2aaa35a..3437495 100644
>>> --- a/src/mem3/src/mem3_shards.erl
>>> +++ b/src/mem3/src/mem3_shards.erl
>>> @@ -131,14 +131,11 @@ handle_call(_Call, _From, St) ->
>>> {noreply, St}.
>>> 
>>> handle_cast({cache_hit, DbName}, St) ->
>>> -    margaret_counter:increment([dbcore, mem3, shard_cache, hit]),
>>> cache_hit(DbName),
>>> {noreply, St};
>>> handle_cast({cache_insert, DbName, Shards}, St) ->
>>> -    margaret_counter:increment([dbcore, mem3, shard_cache, miss]),
>>> {noreply, cache_free(cache_insert(St, DbName, Shards))};
>>> handle_cast({cache_remove, DbName}, St) ->
>>> -    margaret_counter:increment([dbcore, mem3, shard_cache, eviction]),
>>> {noreply, cache_remove(St, DbName)};
>>> handle_cast(_Msg, St) ->
>>> {noreply, St}.
>>> 
>>> http://git-wip-us.apache.org/repos/asf/couchdb/blob/d260381c/src/rexi/src/rexi_governor.erl
>>> ----------------------------------------------------------------------
>>> diff --git a/src/rexi/src/rexi_governor.erl b/src/rexi/src/rexi_governor.erl
>>> index e999470..ad62150 100644
>>> --- a/src/rexi/src/rexi_governor.erl
>>> +++ b/src/rexi/src/rexi_governor.erl
>>> @@ -39,11 +39,9 @@ handle_cast({spawn_and_track, Dest, Msg},
>>> true ->
>>>     {Pid, Ref} = spawn_monitor(erlang, send, [Dest, Msg]),
>>>     ets:insert(Pids, {Pid, Ref}),
>>> -        margaret_counter:increment([erlang, rexi, spawned]),
>>>     {SC + 1, DC};
>>> false ->
>>>     % drop message on floor
>>> -        margaret_counter:increment([erlang, rexi, dropped]),
>>>     {SC, DC + 1}
>>> end,
>>> {noreply, State#state{spawn_cnt = NewSC, drop_cnt = NewDC}};
> 

Reply via email to