anchor.diff:  
   %% @spec update(Stat::term(), integer(), state()) -> state()
   %% @doc Update the given stat in State, returning a new State.
  -update(vnode_get, Moment, State) ->
  -    spiral_incr(#state.vnode_gets, Moment, State);
  -update(vnode_put, Moment, State) ->
  -    spiral_incr(#state.vnode_puts, Moment, State);
  -update({get_fsm_time, Microsecs}, Moment, State) ->
  -    slide_incr(#state.get_fsm_time, Microsecs, Moment, State);
  -update({put_fsm_time, Microsecs}, Moment, State) ->
  -    slide_incr(#state.put_fsm_time, Microsecs, Moment, State);
  +update(vnode_get, Moment, State=#state{vnode_gets_total=VGT}) ->
  +    spiral_incr(#state.vnode_gets, Moment, State#state{vnode_gets_total=VGT+1});
  +update(vnode_put, Moment, State=#state{vnode_puts_total=VPT}) ->
  +    spiral_incr(#state.vnode_puts, Moment, State#state{vnode_puts_total=VPT+1});
  +update({get_fsm_time, Microsecs}, Moment, State=#state{node_gets_total=NGT}) ->
  +    slide_incr(#state.get_fsm_time, Microsecs, Moment, State#state{node_gets_total=NGT+1});
  +update({put_fsm_time, Microsecs}, Moment, State=#state{node_puts_total=NPT}) ->
  +    slide_incr(#state.put_fsm_time, Microsecs, Moment, State#state{node_puts_total=NPT+1});
   update(_, _, State) ->
       State.
   
  
positive.code: init([]) ->
      {ok, #state{vnode_gets=spiraltime:fresh(),
                  vnode_puts=spiraltime:fresh(),
                  get_fsm_time=slide:fresh(),
                  put_fsm_time=slide:fresh()}}.
  
  
negative.code: -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
           terminate/2, code_change/3]).
  
  -record(state,{vnode_gets,vnode_puts,vnode_gets_total,vnode_puts_total,
                 node_gets_total, node_puts_total,
                 get_fsm_time,put_fsm_time}).
  
  %% @spec start_link() -> {ok,Pid} | ignore | {error,Error}
  