anchor.diff:      erlang:put({latencies, Op}, Hist),
       {reply, ok, State};
   handle_call({op, Op, {error, Reason}, _ElapsedUs}, _From, State) ->
  -    ?ERROR("~p: ~p\n", [Op, Reason]),
       increment_error_counter(Op),
       increment_error_counter({Op, Reason}),
  -    {reply, ok, State}.
  +    {reply, ok, State#state { errors_since_last_report = true }}.
   
   handle_cast(_, State) ->
       {noreply, State}.
  
positive.code:                  start_time,
                   last_write_time,
                   report_interval,
                   summary_file}).
  
  %% Tracks latencies up to 5 secs w/ 250 us resolution
  
negative.code:                               Oks,
                                Errors])),
  
      %% Dump current error counts to console
      case (State#state.errors_since_last_report) of
          true ->
              ?INFO("Errors:~p\n", [ets:tab2list(riak_bench_errors)]);
          false ->
              ok
      end,
  
      %% Schedule next report
      erlang:send_after(State#state.report_interval, self(), report),
      {noreply, State#state { last_write_time = Now, errors_since_last_report = false }}.
  
  terminate(_Reason, State) ->
      [ok = file:close(F) || {{csv_file, _}, F} <- erlang:get()],
  