beam_stats_to_bins(#beam_stats
{ node_id = NodeID
, memory = Memory
+ , io_bytes_in = IOBytesIn
+ , io_bytes_out = IOBytesOut
+ , context_switches = ContextSwitches
+ , reductions = Reductions
+ , run_queue = RunQueue
}
) ->
NodeIDBin = node_id_to_bin(NodeID),
- Msgs1 = memory_to_msgs(Memory),
+ Msgs1 =
+ [ io_bytes_in_to_msg(IOBytesIn)
+ , io_bytes_out_to_msg(IOBytesOut)
+ , context_switches_to_msg(ContextSwitches)
+ , reductions_to_msg(Reductions)
+ , run_queue_to_msg(RunQueue)
+ | memory_to_msgs(Memory)
+ ],
Msgs2 = [statsd_msg_add_name_prefix(M, NodeIDBin) || M <- Msgs1],
[statsd_msg_to_bin(M) || M <- Msgs2].
+-spec run_queue_to_msg(non_neg_integer()) ->
+ statsd_msg().
+run_queue_to_msg(RunQueue) ->
+ #statsd_msg
+ { name = <<"run_queue">>
+ , value = RunQueue
+ , type = gauge
+ }.
+
+-spec reductions_to_msg(non_neg_integer()) ->
+ statsd_msg().
+reductions_to_msg(Reductions) ->
+ #statsd_msg
+ { name = <<"reductions">>
+ , value = Reductions
+ , type = gauge
+ }.
+
+-spec context_switches_to_msg(non_neg_integer()) ->
+ statsd_msg().
+context_switches_to_msg(ContextSwitches) ->
+ #statsd_msg
+ { name = <<"context_switches">>
+ , value = ContextSwitches
+ , type = gauge
+ }.
+
+-spec io_bytes_in_to_msg(non_neg_integer()) ->
+ statsd_msg().
+io_bytes_in_to_msg(IOBytesIn) ->
+ #statsd_msg
+ { name = <<"io.bytes_in">>
+ , value = IOBytesIn
+ , type = gauge
+ }.
+
+-spec io_bytes_out_to_msg(non_neg_integer()) ->
+ statsd_msg().
+io_bytes_out_to_msg(IOBytesOut) ->
+ #statsd_msg
+ { name = <<"io.bytes_out">>
+ , value = IOBytesOut
+ , type = gauge
+ }.
+
-spec memory_to_msgs([{atom(), non_neg_integer()}]) ->
[statsd_msg()].
memory_to_msgs(Memory) ->