Documentation ¶
Index ¶
- func CPUMHzPerCore() (uint64, uint64)
- func CPUModelName() string
- func CPUNumCores() (int, int)
- func Init(configCpuTotalCompute uint64) error
- type CPUStats
- type DeviceGroupStats
- type DeviceStatsCollector
- type DiskStats
- type HostCpuStatsCalculator
- type HostStats
- type HostStatsCollector
- type MemoryStats
- type NodeStatsCollector
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CPUMHzPerCore ¶ added in v1.5.8
CPUMHzPerCore returns the MHz per CPU (P, E) core type.
As with CPUNumCores, asymetric core detection currently only works with Apple Silicon CPUs.
func CPUModelName ¶ added in v1.5.8
func CPUModelName() string
CPUModelName returns the model name of the CPU.
func CPUNumCores ¶ added in v1.5.8
CPUNumCores returns the number of CPU cores available.
This is represented with two values - (Power (P), Efficiency (E)) so we can correctly compute total compute for processors with asymetric cores such as Apple Silicon.
For platforms with symetric cores (or where we do not correcly detect asymetric cores), all cores are presented as P cores.
Types ¶
type CPUStats ¶
type CPUStats struct { CPU string User float64 System float64 Idle float64 TotalPercent float64 TotalTicks float64 }
CPUStats represents stats related to cpu usage
type DeviceGroupStats ¶ added in v0.9.0
type DeviceGroupStats = device.DeviceGroupStats
DeviceGroupStats represents stats related to device group
type DeviceStatsCollector ¶ added in v0.9.0
type DeviceStatsCollector func() []*DeviceGroupStats
DeviceStatsCollector is used to retrieve all the latest statistics for all devices.
type DiskStats ¶
type DiskStats struct { Device string Mountpoint string Size uint64 Used uint64 Available uint64 UsedPercent float64 InodesUsedPercent float64 }
DiskStats represents stats related to disk usage
type HostCpuStatsCalculator ¶
type HostCpuStatsCalculator struct {
// contains filtered or unexported fields
}
HostCpuStatsCalculator calculates cpu usage percentages
func NewHostCpuStatsCalculator ¶
func NewHostCpuStatsCalculator() *HostCpuStatsCalculator
NewHostCpuStatsCalculator returns a HostCpuStatsCalculator
type HostStats ¶
type HostStats struct { Memory *MemoryStats CPU []*CPUStats DiskStats []*DiskStats AllocDirStats *DiskStats DeviceStats []*DeviceGroupStats Uptime uint64 Timestamp int64 CPUTicksConsumed float64 }
HostStats represents resource usage stats of the host running a Nomad client
type HostStatsCollector ¶
type HostStatsCollector struct {
// contains filtered or unexported fields
}
HostStatsCollector collects host resource usage stats
func NewHostStatsCollector ¶
func NewHostStatsCollector(logger hclog.Logger, allocDir string, deviceStatsCollector DeviceStatsCollector) *HostStatsCollector
NewHostStatsCollector returns a HostStatsCollector. The allocDir is passed in so that we can present the disk related statistics for the mountpoint where the allocation directory lives
func (*HostStatsCollector) Collect ¶
func (h *HostStatsCollector) Collect() error
Collect collects stats related to resource usage of a host
func (*HostStatsCollector) Stats ¶ added in v0.5.2
func (h *HostStatsCollector) Stats() *HostStats
Stats returns the host stats that has been collected
type MemoryStats ¶
MemoryStats represents stats related to virtual memory usage
type NodeStatsCollector ¶ added in v0.5.2
NodeStatsCollector is an interface which is used for the purposes of mocking the HostStatsCollector in the tests