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}}; >
