anchor.diff:  
   -spec start_processes(name(), pos_integer(), non_neg_integer(), pos_integer()) -> pos_integer().
   start_processes(Name, Rate, Interval, NoOfProcesses) ->
  -    pg2:create(Name),
       % Master metrics
       amoc_metrics:init(gauge, ?RATE(Name)),
       [amoc_metrics:init(counters, E) || E <- [?EXEC_RATE(Name), ?REQ_RATE(Name)]],
  
positive.code: 
  start_throttle_process(Name, Interval, Rate) ->
      {ok, Pid} = amoc_throttle_process:start(Name, Interval, Rate),
      pg2:join(Name, Pid).
  
  update_throttle_processes([Pid], Interval, Rate, 1) ->
      amoc_throttle_process:update(Pid, Interval, Rate);
  
negative.code:                      {reply, ok, state()} |
                       {reply, {error, any()}, state()}.
  handle_call({start_processes, Name, Rate, Interval, NoOfProcesses}, _From, State) ->
      case pg:get_members(Name) of
          [] ->
              RealNoOfProcesses = start_processes(Name, Rate, Interval, NoOfProcesses),
              {reply, {ok, started},
               State#{Name => #throttle_info{rate = Rate, interval = Interval, active = true,
  