anchor.diff:  
   
   udp_is_enabled_test_() ->
  -    GetUdp = fun({_Storage, _Aggs, Udp}) -> Udp end,
  +    GetUdp = fun({_Storage, _Aggs, Udp, _Dir}) -> Udp end,
       {setup, fun setup/0,
        [?_assertEqual(false, udp_is_enabled(?FALLBACK_UDP_CONFIG)),
         ?_assertEqual(true, udp_is_enabled(load_from_string("udp:\n port: 8000", GetUdp))),
  
positive.code:            end,
  
      % parse contents
      {Storages, Aggregations, Udp} = load_documents(Docs),
  
      update(storages, Storages),
      update(aggregations, Aggregations),
      update(udp_config, Udp).
  
  
  get_metadata(Path) ->
  
negative.code:     Udp = load_udp_config(proplists:get_value("udp", Doc, [])),
      lager:info("loaded UDP config: ~p", [Udp]),
  
      DataDir = load_data_dir(proplists:get_value("data_dir", Doc)),
      lager:info("loaded data directory config: ~p", [DataDir]),
  
      {Storages, Aggregations, Udp, DataDir}.
  
  
  load_data_dir(Value) when is_list(Value) ->
      case lists:all(fun erlang:is_integer/1, Value) of
          true -> list_to_binary(Value);
          false -> ?FALLBACK_METRICS_DATA_DIR
      end;
  load_data_dir(_) -> ?FALLBACK_METRICS_DATA_DIR.
  
  
  load_udp_config(Xs) ->
  