anchor.diff:  
   delete_metrics(Registry, Buckets) ->
     BoundCounters = lists:duplicate(length(Buckets), '_'),
  -  MetricSpec = [{Registry, '_', '_'}, '_'] ++ BoundCounters ++ ['_'],
  +  MetricSpec = [{Registry, '_', '_', '_'}, '_'] ++ BoundCounters ++ ['_'],
     ets:match_delete(?TABLE, list_to_tuple(MetricSpec)).
   
   sub_tuple_to_list(Tuple, Pos, Size) when Pos < Size ->
  
positive.code: -define(TABLE, ?PROMETHEUS_HISTOGRAM_TABLE).
  -define(BUCKETS_POS, 2).
  -define(BUCKETS_START, 3).
  
  %%====================================================================
  %% Metric API
  
negative.code: %% mismatch.
  %% @end
  observe(Registry, Name, LabelValues, Value) when is_integer(Value) ->
    case ets:lookup(?TABLE, key(Registry, Name, LabelValues)) of
      [Metric] ->
        {BucketPosition, SumPosition} =
          calculate_histogram_update_positions(Metric, Value),
        ets:update_counter(?TABLE, key(Registry, Name, LabelValues),
                           [{BucketPosition, 1}, {SumPosition, Value}]);
      [] ->
        insert_metric(Registry, Name, LabelValues, Value, fun observe/4)
  