types

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2025 License: AGPL-3.0 Imports: 1 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 {
	UsageSeconds float64 // unit: s
	Utilization  float64 // unit: %
}

type CgroupStats

type CgroupStats struct {
	CPUStats    CPUStats
	GPUStats    GPUStats
	MemoryStats MemoryStats
	IOStats     IOStats
}

type GPUMetrics

type GPUMetrics struct {
	Energy  float64 // unit: J
	Power   float64 // unit: W
	Util    float64 // GPU utilization(%)
	MemUtil float64 // GPU VRAM utilization(%)
	Temp    float64 // unit: ℃
}

type GPUStats

type GPUStats struct {
	Utilization float64 // unit: %
	MemoryUtil  float64 // unit: %
}

type IOStats

type IOStats struct {
	ReadMB    float64 // unit: MB
	WriteMB   float64 // unit: MB
	ReadMBPS  float64 // unit: MB/s
	WriteMBPS float64 // unit: MB/s

	ReadOperations  uint64  // read IO count
	WriteOperations uint64  // write IO count
	ReadOpsPerSec   float64 // read IO count/s
	WriteOpsPerSec  float64 // write IO count/s
}

type IPMIMetrics

type IPMIMetrics struct {
	Power    float64 // unit: W
	CPUPower float64 // unit: W
	FanPower float64 // unit: W
	HDDPower float64 // unit: W

	Energy    float64 // unit: J
	CPUEnergy float64 // unit: J
}

type MemoryStats

type MemoryStats struct {
	UsageMB     float64 // unit: MB
	Utilization float64 // unit: %
}

type NodeData

type NodeData struct {
	NodeID    string
	Timestamp time.Time

	RAPL       RAPLMetrics
	IPMI       IPMIMetrics
	GPU        GPUMetrics
	SystemLoad SystemLoadMetrics
}

type RAPLMetrics

type RAPLMetrics struct {
	Package float64 // unit: J
	Core    float64 // unit: J
	Uncore  float64 // unit: J
	DRAM    float64 // unit: J
	GT      float64 // unit: J
}

type SystemLoadMetrics

type SystemLoadMetrics struct {
	CPUUtil        float64 // CPU utilization(%)
	CPULoad1       float64 // 1 minute load average
	CPULoad5       float64 // 5 minute load average
	CPULoad15      float64 // 15 minute load average
	Frequencies    float64 // CPU average frequency(MHz)
	CPUTemperature float64 // CPU temperature(℃)

	MemoryUtil  float64 // memory utilization(%)
	MemoryUsed  float64 // used memory(GB)
	MemoryTotal float64 // total memory(GB)

	DiskUtil float64 // disk utilization(%)
	DiskIO   float64 // disk IO(MB/s)

	NetworkIO float64 // network IO(MB/s)
	NetworkRx float64 // network receive rate(MB/s)
	NetworkTx float64 // network transmit rate(MB/s)
}

type TaskData

type TaskData struct {
	TaskID uint32
	NodeID string

	StartTime time.Time
	EndTime   time.Time
	Duration  time.Duration

	TotalEnergy  float64 // unit: J
	CPUEnergy    float64 // unit: J
	GPUEnergy    float64 // unit: J
	AveragePower float64 // unit: W

	CgroupStats CgroupStats
}

Record the total energy consumption and average indicators after the task is completed.

Jump to

Keyboard shortcuts

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