Send per-process metrics to StatsD
[beam_stats.git] / src / beam_stats_state.erl
index f21f231..ad424d5 100644 (file)
@@ -1,6 +1,8 @@
 -module(beam_stats_state).
 
 -include("include/beam_stats.hrl").
+-include("include/beam_stats_process.hrl").
+-include("include/beam_stats_processes.hrl").
 
 -export_type(
     [ t/0
@@ -14,7 +16,9 @@
 
 -record(snapshots,
     { memory     :: [{atom(), non_neg_integer()}]
+    , processes  :: beam_stats_processes:t()
     , run_queue  :: non_neg_integer()
+    , ets        :: beam_stats_ets:t()
     }).
 
 -type snapshots() ::
@@ -82,7 +86,9 @@ export(
     , snapshots =
         #snapshots
         { memory    = Memory
+        , processes = Processes
         , run_queue = RunQueue
+        , ets       = ETS
         }
     , deltas =
         #deltas
@@ -111,12 +117,16 @@ export(
     , context_switches = CurrentContextSwitches - PreviousContextSwitches
     , reductions       = Reductions
     , run_queue        = RunQueue
+    , ets              = ETS
+    , processes        = Processes
     }.
 
 snapshots_new() ->
     #snapshots
     { memory     = erlang:memory()
+    , processes  = beam_stats_processes:collect()
     , run_queue  = erlang:statistics(run_queue)
+    , ets        = beam_stats_ets:collect()
     }.
 
 deltas_new() ->
This page took 0.032585 seconds and 4 git commands to generate.