prometheus_vm_system_info_collector (prometheus v6.0.1)

View Source

Collects Erlang VM metrics using erlang:system_info/1.

Exported metrics

  • erlang_vm_dirty_cpu_schedulers Type: gauge. The number of scheduler dirty CPU scheduler threads used by the emulator.
  • erlang_vm_dirty_cpu_schedulers_online Type: gauge. The number of dirty CPU scheduler threads online.
  • erlang_vm_dirty_io_schedulers Type: gauge. The number of scheduler dirty I/O scheduler threads used by the emulator.
  • erlang_vm_ets_limit Type: gauge. The maximum number of ETS tables allowed.
  • erlang_vm_logical_processors Type: gauge. The detected number of logical processors configured in the system.
  • erlang_vm_logical_processors_available Type: gauge. The detected number of logical processors available to the Erlang runtime system.
  • erlang_vm_logical_processors_online Type: gauge. The detected number of logical processors online on the system.
  • erlang_vm_ports Type: gauge. The number of ports currently existing at the local node.
  • erlang_vm_port_limit Type: gauge. The maximum number of simultaneously existing ports at the local node.
  • erlang_vm_processes Type: gauge. The number of processes currently existing at the local node.
  • erlang_vm_process_limit Type: gauge. The maximum number of simultaneously existing processes at the local node.
  • erlang_vm_schedulers Type: gauge. The number of scheduler threads used by the emulator.
  • erlang_vm_schedulers_online Type: gauge. The number of schedulers online.
  • erlang_vm_smp_support Type: boolean. 1 if the emulator has been compiled with SMP support, otherwise 0.
  • erlang_vm_threads Type: boolean. 1 if the emulator has been compiled with thread support, otherwise 0.
  • erlang_vm_thread_pool_size Type: gauge. The number of async threads in the async thread pool used for asynchronous driver calls.
  • erlang_vm_time_correction Type: boolean. 1 if time correction is enabled, otherwise 0.
  • erlang_vm_wordsize_bytes Type: gauge. The size of Erlang term words in bytes.
  • erlang_vm_atoms Type: gauge. The number of atom currently existing at the local node.
  • erlang_vm_atom_limit Type: gauge. The maximum number of simultaneously existing atom at the local node.
  • erlang_vm_allocators Type: gauge. Allocated (carriers_size) and used (blocks_size) memory for the different allocators in the VM. See erts_alloc(3).

Configuration

Metrics exported by this collector can be configured via vm_system_info_collector_metrics key of the prometheus app environment.

Options are the same as Item parameter values for erlang:system_info/1:

  • ets_limit for erlang_vm_ets_limit.
  • logical_processors for erlang_vm_logical_processors.
  • logical_processors_available for erlang_vm_logical_processors_available.
  • logical_processors_online for erlang_vm_logical_processors_online.
  • ports for erlang_vm_ports.
  • port_limit for erlang_vm_port_limit.
  • processes for erlang_vm_processes.
  • process_limit for erlang_vm_process_limit.
  • schedulers for erlang_vm_schedulers.
  • schedulers_online for erlang_vm_schedulers_online.
  • smp_support for erlang_vm_smp_support.
  • threads for erlang_threads.
  • thread_pool_size for erlang_vm_thread_pool_size.
  • time_correction for erlang_vm_time_correction.
  • wordsize_bytes for erlang_vm_wordsize_bytes.
  • atoms for erlang_vm_atoms.
  • atom_limit for erlang_vm_atom_limit.
  • allocators for erlang_vm_allocators.

By default all metrics are enabled.