Documentation
¶
Overview ¶
Package apidata implements the types and the data sources for the data sourced from various Talos APIs.
Package apidata implements types to handle monitoring data, calculate values from it, etc.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Data ¶
type Data struct {
// Data per each node.
Nodes map[string]*Node
Timestamp time.Time
Interval time.Duration
}
Data represents the monitoring data retrieved via Talos API.
Data structure is sent over the channel each interval.
func (*Data) CalculateDiff ¶
CalculateDiff with data from previous iteration.
type Node ¶
type Node struct {
// These fields are directly API responses.
Hostname *machine.Hostname
LoadAvg *machine.LoadAvg
Version *machine.Version
Memory *machine.Memory
SystemStat *machine.SystemStat
CPUsFreqStats *machine.CPUsFreqStats
CPUsInfo *machine.CPUsInfo
NetDevStats *machine.NetworkDeviceStats
DiskStats *machine.DiskStats
Processes *machine.Process
ServiceList *machine.ServiceList
// These fields are calculated as diff with Node data from previous pol.
SystemStatDiff *machine.SystemStat
NetDevStatsDiff *machine.NetworkDeviceStats
DiskStatsDiff *machine.DiskStats
ProcsDiff map[int32]*machine.ProcessInfo
// Time-series data.
Series map[string][]float64
}
Node represents data gathered from a single node.
func (*Node) CPUUsageByName ¶
CPUUsageByName returns CPU usage by name.
func (*Node) CtxSwitches ¶
CtxSwitches returns diff of context switches.
func (*Node) ProcsCreated ¶
ProcsCreated returns diff of processes created.
func (*Node) UpdateDiff ¶
UpdateDiff calculates diff with node data from previous iteration.
func (*Node) UpdateSeries ¶
UpdateSeries builds time-series data based on previous iteration data.