anchor.diff:       {node_put_fsm_time_99, PutNN},
        {node_put_fsm_time_100, PutH}].
   
  +%% @spec cpu_stats() -> proplist()
  +%% @doc Get stats on the cpu, as given by the cpu_sup module
  +%%      of the os_mon application.
   cpu_stats() ->
       [{cpu_nprocs, cpu_sup:nprocs()},
        {cpu_avg1, cpu_sup:avg1()},
        {cpu_avg5, cpu_sup:avg5()},
        {cpu_avg15, cpu_sup:avg15()}].
   
  +%% @spec mem_stats() -> proplist()
  +%% @doc Get stats on the memory, as given by the memsup module
  +%%      of the os_mon application.
   mem_stats() ->
       {Total, Alloc, _} = memsup:get_memory_data(),
       [{mem_total, Total},
        {mem_allocated, Alloc}].
   
  +%% @spec disk_stats() -> proplist()
  +%% @doc Get stats on the disk, as given by the disksup module
  +%%      of the os_mon application.
   disk_stats() ->
       [{disk, disksup:get_disk_data()}].
  
positive.code: -record(state,{vnode_gets,vnode_puts,
                 get_fsm_time,put_fsm_time}).
  
  %%====================================================================
  %% API
  %%====================================================================
  %%--------------------------------------------------------------------
  %% Function: start_link() -> {ok,Pid} | ignore | {error,Error}
  %% Description: Starts the server
  %%--------------------------------------------------------------------
  start_link() ->
      case application:start(os_mon) of
          ok -> ok;
  
negative.code: update(_, _, State) ->
      State.
  
  %% @spec spiral_incr(integer(), integer(), state()) -> state()
  %% @doc Increment the value of a spiraltime structure at a given
  %%      position of the State tuple.
  spiral_incr(Elt, Moment, State) ->
      setelement(Elt, State,
                 spiraltime:incr(1, Moment, element(Elt, State))).
  
  %% @spec slide_incr(integer(), term(), integer(), state()) -> state()
  %% @doc Update a slide structure at a given position in the
  %%      STate tuple.
  slide_incr(Elt, Reading, Moment, State) ->
      setelement(Elt, State,
                 slide:update(element(Elt, State), Reading, Moment)).
  
  %% @spec produce_stats(state()) -> proplist()
  %% @doc Produce a proplist-formatted view of the current aggregation
  %%      of stats.
  produce_stats(State) ->
      Moment = spiraltime:n(),
      lists:append(
  