anchor.diff:  get_p99s(Conns, Metrics) ->
       lists:flatmap(fun (M) -> get_p99_updates(Conns, M) end, Metrics).
   
  -get_p99_updates(Conns, {netlink,tcp_metrics,_, _, _, {get,_,_,Attrs}}) ->
  +get_p99_updates(Conns, {netlink, tcp_metrics, _, _, _, {get, _, _, Attrs}}) ->
       match_metrics(Conns, proplists:get_value(d_addr, Attrs), proplists:get_value(vals, Attrs)).
   
   match_metrics(_, undefined, _) -> [];
   match_metrics(_, _, undefined) -> [];
   match_metrics(Conns, Addr, Vals) -> match_conn(maps:get(Addr, Conns, undefined),
  -                                               proplists:get_value(rtt_us, Vals), 
  +                                               proplists:get_value(rtt_us, Vals),
                                                  proplists:get_value(rtt_var_us, Vals)).
   match_conn(undefined, _, _) -> [];
   match_conn(_, undefined, _) -> [];
  
positive.code:     NextMinute + Splay.
  
  %% implementation
  -spec(check_connections(conn_map()) -> conn_map()).
  check_connections(OldConns) ->
      {ok, Conns} = ip_vs_conn_monitor:get_connections(),
      Splay = minuteman_config:metrics_splay_seconds(),
      Interval = minuteman_config:metrics_interval_seconds(),
      PollDelay = 2*(Splay + Interval), %% assuming these delays are the same in ip_vs_conn
      OnlyNewConns = new_connections(OldConns, Conns),
      Parsed = lists:map(fun ip_vs_conn:parse/1, maps:to_list(OnlyNewConns)),
      lists:foreach(fun (C) -> check_connections(C, PollDelay) end, Parsed),
      ParsedMap = lists:foldl(fun vip_addr_map/2, #{}, Parsed),
      Metrics = tcp_metrics_monitor:get_metrics(),
      P99s = get_p99s(ParsedMap, Metrics),
      lists:foreach(fun apply_p99/1, P99s),
      Conns.
  
  vip_addr_map(C = #ip_vs_conn{dst_ip = IP}, Z) ->
      vip_addr_map(C, Z, maps:get(int_to_ip(IP), Z, undefined)).
  
negative.code:     [?_assertEqual(#{Conn => ConnStatus1}, New)].
  
  get_p99s_test_() ->
      DAddr = {54, 192, 147, 29},
      Attrs = [{d_addr, DAddr},
               {s_addr, {10, 0, 79, 182}},
               {age_ms, 806101408},
               {vals, [{rtt_us, 47313},
                      {rtt_ms, 47},
                      {rtt_var_us, 23656},
                      {rtt_var_ms, 23},
                      {cwnd, 10}]}],
      Metrics = [{netlink, tcp_metrics, [multi], 18, 31595, {get, 1, 0, Attrs}}],
      IP = 16#36c0931d,
      Conn = {ip_vs_conn, tcp, established, 167792566, 47808, 167792566, 8080, IP, 8081, 59},
      Conn2 = {ip_vs_conn, tcp, established, 167792567, 47808, 167792566, 8080, IP, 8081, 59},
      DAddr = int_to_ip(IP),
      ConnMap = #{DAddr => [Conn]},
      ConnMap2 = #{DAddr => [Conn, Conn2]},
      [?_assertEqual(DAddr, int_to_ip(IP)),
  