anchor.diff:                                 {stats, "@index-"++binary_to_list(Bucket),
                                   #stat_entry{timestamp = TS,
                                               values = BucketStats}})
  -      end, aggregate_index_stats(Stats)),
  -
  -    {noreply, #state{prev_counters = NewCounters,
  -                     prev_ts = TS}};
  +      end, aggregate_index_stats(Stats, KnownBuckets, Defaults)),
  +
  +    {noreply, State#state{prev_counters = NewCounters,
  +                          prev_ts = TS}};
  +handle_info({buckets, NewBuckets}, State) ->
  +    NewBuckets1 = lists:map(fun list_to_binary/1, NewBuckets),
  +    {noreply, State#state{buckets = NewBuckets1}};
   handle_info(_Info, State) ->
       {noreply, State}.
   
  
positive.code:          terminate/2, code_change/3]).
  
  -record(state, {prev_counters = [],
                  prev_ts = 0}).
  
  start_link() ->
      gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
  
negative.code: init([]) ->
      ns_pubsub:subscribe_link(ns_tick_event),
      ets:new(index_stats_collector_names, [protected, named_table]),
  
      Self = self(),
      ns_pubsub:subscribe_link(
        ns_config_events,
        fun ({buckets, BucketConfigs}) ->
                Self ! {buckets, ns_bucket:get_bucket_names(membase, BucketConfigs)};
            (_) ->
                ok
        end),
  
      Buckets = lists:map(fun list_to_binary/1, ns_bucket:get_bucket_names(membase)),
      Defaults = [{global_index_stat(atom_to_binary(Stat, latin1)), 0}
                  || Stat <- ?I_GAUGES ++ ?I_COUNTERS],
  
  
      {ok, #state{buckets = Buckets,
                  default_stats = Defaults}}.
  
  handle_call(_Request, _From, State) ->
      Reply = ok,
  