Documentation
¶
Index ¶
- func ConsumeCSVSamples(input io.Reader, consume func(*SampleEnvelope)) error
- func ConsumeCSVSlurmJobs(input io.Reader, consume func(any)) error
- func ConsumeJSONSamples(input io.Reader, consume func(*SampleEnvelope)) error
- func ConsumeJSONSlurmJobs(input io.Reader, consume func(any)) error
- func ConsumeJSONSysinfo(input io.Reader, consume func(*SysinfoEnvelope)) error
- func DecodeLoadData(data []byte) ([]uint64, error)
- type GpuSample
- type GpuSysinfo
- type GpusList
- type ProcessSample
- type SampleEnvelope
- type SlurmEnvelope
- type SlurmErrorEnvelope
- type SlurmJob
- type SysinfoEnvelope
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConsumeCSVSamples ¶
func ConsumeCSVSamples( input io.Reader, consume func(*SampleEnvelope), ) error
func ConsumeJSONSamples ¶
func ConsumeJSONSamples(input io.Reader, consume func(*SampleEnvelope)) error
func ConsumeJSONSysinfo ¶
func ConsumeJSONSysinfo(input io.Reader, consume func(*SysinfoEnvelope)) error
func DecodeLoadData ¶
Types ¶
type GpuSample ¶
type GpuSample struct { FanPct uint64 `json:"fan%"` ComputeMode string `json:"mode"` // Platform-dependent string PerfState string `json:"perf"` // Pn for nonnegative n, or "Unknown" MemUse uint64 `json:"musekib"` CEUtilPct uint64 `json:"cutil%"` MemUtilPct uint64 `json:"mutil%"` Temp uint64 `json:"tempc"` Power uint64 `json:"poww"` PowerLimit uint64 `json:"powlimw"` CEClock uint64 `json:"cez"` MemClock uint64 `json:"memz"` }
func DecodeGpuSamples ¶
type GpuSysinfo ¶
type GpuSysinfo struct { BusAddress string `json:"bus_addr"` Index uint64 `json:"index"` UUID string `json:"uuid"` Manufacturer string `json:"manufacturer"` Model string `json:"model"` Architecture string `json:"arch"` Driver string `json:"driver"` Firmware string `json:"firmware"` MemKB uint64 `json:"mem_size_kib"` PowerLimit uint64 `json:"power_limit_watt"` MaxPowerLimit uint64 `json:"max_power_limit_watt"` MinPowerLimit uint64 `json:"min_power_limit_watt"` MaxCEClock uint64 `json:"max_ce_clock_mhz"` MaxMemClock uint64 `json:"max_mem_clock_mhz"` }
type ProcessSample ¶
type ProcessSample struct { User string `json:"user"` Cmd string `json:"cmd"` JobId uint64 `json:"job"` Pid uint64 `json:"pid"` ParentPid uint64 `json:"ppid"` CpuPct float64 `json:"cpu%"` CpuKib uint64 `json:"cpukib"` RssAnonKib uint64 `json:"rssanonkib"` Gpus string `json:"gpus"` // Decode further with DecodeGpusList() GpuPct float64 `json:"gpu%"` GpuMemPct float64 `json:"gpumem%"` GpuKib uint64 `json:"gpukib"` CpuTimeSec uint64 `json:"cputime_sec"` GpuFail uint64 `json:"gpufail"` Rolledup uint64 `json:"rolledup"` }
type SampleEnvelope ¶
type SampleEnvelope struct { Version string `json:"v"` Timestamp string `json:"time"` Hostname string `json:"host"` CpuLoad []uint64 `json:"load"` GpuSamples []GpuSample `json:"gpuinfo"` Samples []ProcessSample `json:"samples"` Cores uint64 // Only in fairly old CSV data; obsolete MemtotalKib uint64 // Ditto }
type SlurmEnvelope ¶
type SlurmErrorEnvelope ¶
type SlurmJob ¶
type SlurmJob struct { JobID string `json:"JobID"` JobIDRaw string `json:"JobIDRaw"` User string `json:"User"` Account string `json:"Account"` State string `json:"State"` Start string `json:"Start"` End string `json:"End"` AveCPU string `json:"AveCPU"` AveDiskRead string `json:"AveDiskRead"` AveDiskWrite string `json:"AveDiskWrite"` AveRSS string `json:"AveRSS"` AveVMSize string `json:"AveVMSize"` ElapsedRaw string `json:"ElapsedRaw"` ExitCode string `json:"ExitCode"` Layout string `json:"Layout"` MaxRSS string `json:"MaxRSS"` MaxVMSize string `json:"MaxVMSize"` MinCPU string `json:"MinCPU"` ReqCPUS string `json:"ReqCPUS"` ReqMem string `json:"ReqMem"` ReqNodes string `json:"ReqNodes"` Reservation string `json:"Reservation"` Submit string `json:"Submit"` Suspended string `json:"Suspended"` SystemCPU string `json:"SystemCPU"` TimelimitRaw string `json:"TimelimitRaw"` UserCPU string `json:"UserCPU"` NodeList string `json:"NodeList"` Partition string `json:"Partition"` AllocTRES string `json:"AllocTRES"` Priority string `json:"Priority"` JobName string `json:"JobName"` }
type SysinfoEnvelope ¶
type SysinfoEnvelope struct { Version string `json:"version"` Timestamp string `json:"timestamp"` Hostname string `json:"hostname"` Description string `json:"description"` CpuCores uint64 `json:"cpu_cores"` MemGB uint64 `json:"mem_gb"` GpuCards uint64 `json:"gpu_cards"` GpuMemGB uint64 `json:"gpumem_gb"` GpuInfo []GpuSysinfo `json:"gpu_info"` }
Click to show internal directories.
Click to hide internal directories.