Beethoven.HwMon (Beethoven v0.3.9)

Stack of services to help check system utilization and push sampled data into the Beethoven.Allocator stack of services.

Public API

Readme

This module contains 2 primary services:

  • Server This service will take samples of system performance and send the data to multiple services within Beethoven. The most current data is stored in an Mnesia table.
  • Archive Archive hosts historical performance signals. Will store up to 100k entries per metric. This is a hard limit. Older logs will be pruned in a FIFO manor. This data is stored in an ETS table on the local node.

Summary

Functions

Returns a specification to start this module under a supervisor.

Get Node performance specs from Mnesia.

Supervisor Entry point.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

get_hw_usage()

@spec get_hw_usage() :: [{module(), node(), float(), float(), DateTime.t()}]

Get Node performance specs from Mnesia.

{Beethoven.HwMon.Server.Tracker, :node, :avail_cpu, :avail_ram_gb, :last_change}

start_link(init_args \\ [])

@spec start_link(any()) :: GenServer.on_start()

Supervisor Entry point.