anchor.diff:              end,
       Nodes.
   
  -%%===============================================================================
  +%%=============================================================================
   %% Debug functions
  -%%===============================================================================
  +%%=============================================================================
   
   -spec(print_ages/0 :: () -> ok).
   print_ages() ->
  
positive.code: %% comm_logger functions
  %%===============================================================================
  get_dump() ->
      [cs_send:send(cs_send:get(admin_server, Server), {get_comm_layer_dump, cs_send:this()}) 
       || Server <- util:get_nodes()],
      % list({Map, StartTime})
      Dumps = [receive 
  	 {get_comm_layer_dump_response, Dump} ->
  	     Dump
       end || _ <- util:get_nodes()],
      StartTime = lists:min([Start || {_, Start} <- Dumps]),
      Keys = lists:usort(lists:flatten([gb_trees:keys(Map) || {Map, _} <- Dumps])),
      {lists:foldl(fun (Tag, Map) -> 
  			 gb_trees:enter(Tag, get_aggregate(Tag, Dumps), Map)
  		 end, gb_trees:empty(), Keys), StartTime}.
  
  get_dump_bw() ->
      {Map, StartTime} = get_dump(),
  
negative.code:     {0, 0};
  get_aggregate(Tag, [{Dump, _} | Rest]) ->
      case gb_trees:lookup(Tag, Dump) of
          none ->
              get_aggregate(Tag, Rest);
          {value, {Size, Count}} ->
              {AggSize, AggCount} = get_aggregate(Tag, Rest),
              {AggSize + Size, AggCount + Count}
      end.
  
  diff_dump(BeforeDump, AfterDump, _RunTime) ->
      Tags = lists:usort(lists:flatten([gb_trees:keys(BeforeDump),
                                        gb_trees:keys(AfterDump)])),
      diff(Tags, BeforeDump, AfterDump).
  
  diff([], _Before, _After) ->
      [];
  diff([Tag | Rest], Before, After) ->
      {NewSize, NewCount} = gb_trees:get(Tag, After),
      case gb_trees:lookup(Tag, Before) of
          none ->
              [{Tag, NewSize, NewCount} | diff(Rest, Before, After)];
          {value, {Size, Count}} ->
              [{Tag, NewSize - Size, NewCount - Count} | diff(Rest, Before, After)]
      end.
  
  %%=============================================================================
  %% admin server functions
  %%=============================================================================
  start_link() ->
      {ok, spawn_link(?MODULE, start, [])}.
  
  