anchor.diff:                     Views) ->
       ViewMatches = otel_view:match_instrument_to_views(Instrument, Views),
       lists:map(fun(Reader=#reader{view_aggregation_tab=ViewAggregationTab}) ->
  -                      Matches = per_reader_aggregations(Reader, Instrument, ViewMatches),
  -                      ets:insert(ViewAggregationTab, {Instrument, Matches}),
  -                      update_aggregations(Measurement, Reader, Matches)
  +                      case ets:lookup(ViewAggregationTab, Instrument) of
  +                          [] ->
  +                              %% this instrument hasn't been seen before
  +                              Matches = per_reader_aggregations(Reader, Instrument, ViewMatches),
  +                              true = ets:insert(ViewAggregationTab, {Instrument, Matches}),
  +                              update_aggregations(Measurement, Reader, Matches);
  +                          [{_, Matches}] ->
  +                              %% TODO: matches need to be  updated when a new view is added
  +                              update_aggregations(Measurement, Reader, Matches)
  +                      end
                 end, Readers).
   
   update_aggregations(#measurement{attributes=Attributes,
  
positive.code:     AggregationModule = aggregation_module(Instrument, View, Reader),
      Temporality = maps:get(Kind, ReaderTemporalityMapping),
  
      ViewAggregationReader = ViewAggregation#view_aggregation{
                                reader_pid=Pid,
                                aggregation_module=AggregationModule,
                                temporality=Temporality},
  
      %% ets:insert(?VIEW_AGGREGATIONS_TAB, ViewAggregationReader),
  
      ViewAggregationReader.
  
  %% no aggregation defined for the View, so get the aggregation from the Reader
  %% the Reader's mapping of Instrument Kind to Aggregation was merged with the
  
negative.code: -spec aggregation_module(otel_instrument:t(), otel_view:t(), reader()) -> module().
  aggregation_module(#instrument{kind=Kind}, #view{aggregation_module=undefined},
                     #reader{default_aggregation_mapping=ReaderAggregationMapping}) ->
      maps:get(Kind, ReaderAggregationMapping);
  aggregation_module(_Instrument, #view{aggregation_module=Module}, _Reader) ->
      Module.
  