Hardware Health Stage

This stage will retrieve information from the local machine and publish it for logging and display. This includes things CPU usage, memory usage, network bandwidth, and process stats.


The data to be collected is configurable, as the time/cost to collect certain data elements vary from platform to platform.

  • disable-collect-all-processes-info - Disable collecting metrics from all processes running onboard.
  • disable-collect-cpu-frequencies - Disable collecting cpu frequencies from platform.
  • disable-collect-process-thread-info - Disable collecting this process’ threads information.

Configuration may be set through the Stage configuration files or via the command-line argument parser.


There is no inputs to this stage. It simply runs at 0.2Hz and collects statistics. These are published over the following channels:

  • network_devices - Network device statistics.
  • process_stats - ps-style process statistics (for all processes on the machine)
  • pipeline_process_stats - ps-style process statistics for this process (the main Ark process). Details may include the process’s threads and priority stats.
  • system_stats - Top-level CPU, memory, and I/O statistics.
  • cpuinfo_stats - Detailed CPU information, such as per core throttle data.
  • allocator_stats - TCMalloc Memory allocation statistics.


There are no metrics for this stage, beyond the system metrics that are published periodically.