prometheus_vm_dist_collector (prometheus v6.0.0)
View SourceCollects information about the sockets and processes involved in the Erlang distribution mechanism.
All metrics include a label 'peer' that indicates which distributed connection the metric is about.
Exported metrics
Metrics pertaining to processes may apply to three different types of processes depending on
the distribution transport: type=\"dist\"
, type=\"tls_connection\"
or type=\"tls_sender\"
.
erlang_vm_dist_recv_bytes
Type: gauge. Number of bytes received by the socket.erlang_vm_dist_recv_cnt
Type: gauge. Number of packets received by the socket.erlang_vm_dist_recv_max_bytes
Type: gauge. Size of the largest packet, in bytes, received by the socket.erlang_vm_dist_recv_avg_bytes
Type: gauge. Average size of packets, in bytes, received by the socket.erlang_vm_dist_recv_dvi_bytes
Type: gauge. Average packet size deviation, in bytes, received by the socket.erlang_vm_dist_send_bytes
Type: gauge. Number of bytes sent from the socket.erlang_vm_dist_send_cnt
Type: gauge. Number of packets sent from the socket.erlang_vm_dist_send_max_bytes
Type: gauge. Size of the largest packet, in bytes, sent from the socket.erlang_vm_dist_send_avg_bytes
Type: gauge. Average size of packets, in bytes, sent from the socket.erlang_vm_dist_send_pend_bytes
Type: gauge. Number of bytes waiting to be sent by the socket.erlang_vm_dist_port_input_bytes
Type: gauge. The total number of bytes read from the port.erlang_vm_dist_port_output_bytes
Type: gauge. The total number of bytes written to the port.erlang_vm_dist_port_memory_bytes
Type: gauge. The total number of bytes allocated for this port by the runtime system. The port itself can have allocated memory that is not included.erlang_vm_dist_port_queue_size_bytes
Type: gauge. The total number of bytes queued by the port using the ERTS driver queue implementation.erlang_vm_dist_proc_memory_bytes
Type: gauge. The size in bytes of the process. This includes call stack, heap, and internal structures.erlang_vm_dist_proc_heap_size_words
Type: gauge. The size in words of the youngest heap generation of the process. This generation includes the process stack. This information is highly implementation-dependent, and can change if the implementation changes.erlang_vm_dist_proc_min_heap_size_words
Type: gauge. The minimum heap size for the process.erlang_vm_dist_proc_min_bin_vheap_size_words
Type: gauge. The minimum binary virtual heap size for the process.erlang_vm_dist_proc_stack_size_words
Type: gauge. The stack size, in words, of the process.erlang_vm_dist_proc_total_heap_size_words
Type: gauge. The total size, in words, of all heap fragments of the process. This includes the process stack and any unreceived messages that are considered to be part of the heap.erlang_vm_dist_proc_message_queue_len
Type: gauge. The number of messages currently in the message queue of the process.erlang_vm_dist_proc_reductions
Type: gauge. The number of reductions executed by the process.erlang_vm_dist_proc_status
Type: gauge. The current status of the distribution process. The status is represented as a numerical value whereexiting=1
,suspended=2
,runnable=3
,garbage_collecting=4
,running=5
andwaiting=6
.erlang_vm_dist_node_state
Type: gauge. The current state of the distribution link. The state is represented as a numerical value wherepending=1
,up_pending=2
andup=3
.erlang_vm_dist_node_queue_size_bytes
Type: gauge. The number of bytes in the output distribution queue. This queue sits between the Erlang code and the port driver.
Configuration
Metrics exported by this collector can be configured via vm_dist_collector_metrics
key
of the prometheus
app environment.
Available options:
recv_bytes
forerlang_vm_dist_recv_bytes
.recv_cnt
forerlang_vm_dist_recv_cnt
.recv_max_bytes
forerlang_vm_dist_recv_max_bytes
.recv_avg_bytes
forerlang_vm_dist_recv_avg_bytes
.recv_dvi_bytes
forerlang_vm_dist_recv_dvi_bytes
.send_bytes
forerlang_vm_dist_send_bytes
.send_cnt
forerlang_vm_dist_send_cnt
.send_max_bytes
forerlang_vm_dist_send_max_bytes
.send_avg_bytes
forerlang_vm_dist_send_avg_bytes
.send_pend_bytes
forerlang_vm_dist_send_pend_bytes
.port_input_bytes
forerlang_vm_dist_port_input_bytes
.port_output_bytes
forerlang_vm_dist_port_output_bytes
.port_memory_bytes
forerlang_vm_dist_port_memory_bytes
.port_queue_size_bytes
forerlang_vm_dist_port_queue_size_bytes
.proc_memory_bytes
forerlang_vm_dist_proc_memory_bytes
.proc_heap_size_words
forerlang_vm_dist_proc_heap_size_words
.proc_min_heap_size_words
forerlang_vm_dist_proc_min_heap_size_words
.proc_min_bin_vheap_size_words
forerlang_vm_dist_proc_min_bin_vheap_size_words
.proc_stack_size_words
forerlang_vm_dist_proc_stack_size_words
.proc_total_heap_size_words
forerlang_vm_dist_proc_total_heap_size_words
.proc_message_queue_len
forerlang_vm_dist_proc_message_queue_len
.proc_reductions
forerlang_vm_dist_proc_reductions
.proc_status
forerlang_vm_dist_proc_status
.node_state
forerlang_vm_dist_node_state
.node_queue_size_bytes
forerlang_vm_dist_node_queue_size_bytes
.
By default all metrics are enabled.