Packages

Web based metrics, monitoring, and observer.

Current section

Files

Jump to
wobserver_ng lib wobserver system.ex
Raw

lib/wobserver/system.ex

defmodule Wobserver.System do
@moduledoc ~S"""
Provides System information.
"""
alias Wobserver.System.Info
alias Wobserver.System.Memory
alias Wobserver.System.Scheduler
alias Wobserver.System.Statistics
@typedoc ~S"""
System overview information.
Including:
- `architecture`, architecture information.
- `cpu`, cpu information.
- `memory`, memory usage.
- `statistics`, general System statistics.
- `scheduler`, scheduler utilization per scheduler.
"""
@type t :: %__MODULE__{
architecture: Info.t,
cpu: map,
memory: Memory.t,
statistics: Statistics.t,
scheduler: list(float)
}
defstruct [
:architecture,
:cpu,
:memory,
:statistics,
:scheduler,
]
@doc ~S"""
Provides a overview of all System information.
Including:
- `architecture`, architecture information.
- `cpu`, cpu information.
- `memory`, memory usage.
- `statistics`, general System statistics.
- `scheduler`, scheduler utilization per scheduler.
"""
@spec overview :: Wobserver.System.t
def overview do
%__MODULE__{
architecture: Info.architecture,
cpu: Info.cpu,
memory: Memory.usage,
statistics: Statistics.overview,
scheduler: Scheduler.utilization,
}
end
end