stats

package
v0.12.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2020 License: MPL-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CPUStats

type CPUStats struct {
	CPU    string
	User   float64
	System float64
	Idle   float64
	Total  float64
}

CPUStats represents stats related to cpu usage

type CpuStats

type CpuStats struct {
	// contains filtered or unexported fields
}

CpuStats calculates cpu usage percentage

func NewCpuStats

func NewCpuStats() *CpuStats

NewCpuStats returns a cpu stats calculator

func (*CpuStats) Percent

func (c *CpuStats) Percent(cpuTime float64) float64

Percent calculates the cpu usage percentage based on the current cpu usage and the previous cpu usage where usage is given as time in nanoseconds spend in the cpu

func (*CpuStats) TicksConsumed

func (c *CpuStats) TicksConsumed(percent float64) float64

TicksConsumed calculates the total ticks consumes by the process across all cpu cores

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

func (*HostCpuStatsCalculator) Calculate

func (h *HostCpuStatsCalculator) Calculate(times cpu.TimesStat) (idle float64, user float64, system float64, total float64)

Calculate calculates the current cpu usage percentages

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

type MemoryStats struct {
	Total     uint64
	Available uint64
	Used      uint64
	Free      uint64
}

MemoryStats represents stats related to virtual memory usage

type NodeStatsCollector added in v0.5.2

type NodeStatsCollector interface {
	Collect() error
	Stats() *HostStats
}

NodeStatsCollector is an interface which is used for the purposes of mocking the HostStatsCollector in the tests

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL