View Source prometheus_vm_dist_collector (prometheus v4.13.0)
Collects 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_bytesType: gauge. Number of bytes received by the socket.erlang_vm_dist_recv_cntType: gauge. Number of packets received by the socket.erlang_vm_dist_recv_max_bytesType: gauge. Size of the largest packet, in bytes, received by the socket.erlang_vm_dist_recv_avg_bytesType: gauge. Average size of packets, in bytes, received by the socket.erlang_vm_dist_recv_dvi_bytesType: gauge. Average packet size deviation, in bytes, received by the socket.erlang_vm_dist_send_bytesType: gauge. Number of bytes sent from the socket.erlang_vm_dist_send_cntType: gauge. Number of packets sent from the socket.erlang_vm_dist_send_max_bytesType: gauge. Size of the largest packet, in bytes, sent from the socket.erlang_vm_dist_send_avg_bytesType: gauge. Average size of packets, in bytes, sent from the socket.erlang_vm_dist_send_pend_bytesType: gauge. Number of bytes waiting to be sent by the socket.erlang_vm_dist_port_input_bytesType: gauge. The total number of bytes read from the port.erlang_vm_dist_port_output_bytesType: gauge. The total number of bytes written to the port.erlang_vm_dist_port_memory_bytesType: 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_bytesType: gauge. The total number of bytes queued by the port using the ERTS driver queue implementation.erlang_vm_dist_proc_memory_bytesType: gauge. The size in bytes of the process. This includes call stack, heap, and internal structures.erlang_vm_dist_proc_heap_size_wordsType: 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_wordsType: gauge. The minimum heap size for the process.erlang_vm_dist_proc_min_bin_vheap_size_wordsType: gauge. The minimum binary virtual heap size for the process.erlang_vm_dist_proc_stack_size_wordsType: gauge. The stack size, in words, of the process.erlang_vm_dist_proc_total_heap_size_wordsType: 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_lenType: gauge. The number of messages currently in the message queue of the process.erlang_vm_dist_proc_reductionsType: gauge. The number of reductions executed by the process.erlang_vm_dist_proc_statusType: 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=5andwaiting=6.erlang_vm_dist_node_stateType: gauge. The current state of the distribution link. The state is represented as a numerical value wherepending=1,up_pending=2andup=3.erlang_vm_dist_node_queue_size_bytesType: 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_bytesforerlang_vm_dist_recv_bytes.recv_cntforerlang_vm_dist_recv_cnt.recv_max_bytesforerlang_vm_dist_recv_max_bytes.recv_avg_bytesforerlang_vm_dist_recv_avg_bytes.recv_dvi_bytesforerlang_vm_dist_recv_dvi_bytes.send_bytesforerlang_vm_dist_send_bytes.send_cntforerlang_vm_dist_send_cnt.send_max_bytesforerlang_vm_dist_send_max_bytes.send_avg_bytesforerlang_vm_dist_send_avg_bytes.send_pend_bytesforerlang_vm_dist_send_pend_bytes.port_input_bytesforerlang_vm_dist_port_input_bytes.port_output_bytesforerlang_vm_dist_port_output_bytes.port_memory_bytesforerlang_vm_dist_port_memory_bytes.port_queue_size_bytesforerlang_vm_dist_port_queue_size_bytes.proc_memory_bytesforerlang_vm_dist_proc_memory_bytes.proc_heap_size_wordsforerlang_vm_dist_proc_heap_size_words.proc_min_heap_size_wordsforerlang_vm_dist_proc_min_heap_size_words.proc_min_bin_vheap_size_wordsforerlang_vm_dist_proc_min_bin_vheap_size_words.proc_stack_size_wordsforerlang_vm_dist_proc_stack_size_words.proc_total_heap_size_wordsforerlang_vm_dist_proc_total_heap_size_words.proc_message_queue_lenforerlang_vm_dist_proc_message_queue_len.proc_reductionsforerlang_vm_dist_proc_reductions.proc_statusforerlang_vm_dist_proc_status.node_stateforerlang_vm_dist_node_state.node_queue_size_bytesforerlang_vm_dist_node_queue_size_bytes.
By default all metrics are enabled.