Documentation
¶
Index ¶
- type CPUInfoProvider
- type CPUTracker
- type CommandExecutor
- type DefaultCPUInfoProvider
- func (d *DefaultCPUInfoProvider) Counts(logical bool) (int, error)
- func (d *DefaultCPUInfoProvider) Info() ([]cpu.InfoStat, error)
- func (d *DefaultCPUInfoProvider) Percent(interval time.Duration, perCPU bool) ([]float64, error)
- func (d *DefaultCPUInfoProvider) Times(perCPU bool) ([]cpu.TimesStat, error)
- type DefaultDiskInfoProvider
- type DefaultFileSystem
- type DefaultHostInfoProvider
- type DefaultLoadInfoProvider
- type DefaultMemoryInfoProvider
- type DefaultNetworkInfoProvider
- type DefaultProcessInfoProvider
- type DiskInfoProvider
- type DiskRateCursor
- type FileSystem
- type GopsUtil
- func (self *GopsUtil) GetAllMetrics(procSortBy ProcSortBy, procLimit int, enableProcessCPU bool, ...) (*models.SystemMetrics, error)
- func (self *GopsUtil) GetAllMetricsWithCursors(procSortBy ProcSortBy, procLimit int, enableProcessCPU bool, cpuCursor string, ...) (*models.SystemMetrics, error)
- func (self *GopsUtil) GetCPUInfo() (*models.CPUInfo, error)
- func (self *GopsUtil) GetCPUInfoWithCursor(cursor string) (*models.CPUInfo, error)
- func (self *GopsUtil) GetDiskInfo() ([]*models.DiskInfo, error)
- func (self *GopsUtil) GetDiskMounts() ([]*models.DiskMountInfo, error)
- func (self *GopsUtil) GetDiskRates(cursorStr string) (*models.DiskRateResponse, error)
- func (self *GopsUtil) GetGPUInfo() (*models.GPUInfo, error)
- func (self *GopsUtil) GetGPUInfoWithTemp(pciIds []string) (*models.GPUInfo, error)
- func (self *GopsUtil) GetGPUTemp(pciId string) (*models.GPUTempInfo, error)
- func (self *GopsUtil) GetMemoryInfo() (*models.MemoryInfo, error)
- func (self *GopsUtil) GetMeta(ctx context.Context, modules []string, params MetaParams) (*models.MetaInfo, error)
- func (self *GopsUtil) GetModules() (*models.ModulesInfo, error)
- func (self *GopsUtil) GetNetworkInfo() ([]*models.NetworkInfo, error)
- func (self *GopsUtil) GetNetworkRates(cursorStr string) (*models.NetworkRateResponse, error)
- func (self *GopsUtil) GetProcesses(sortBy ProcSortBy, limit int, enableCPU bool, mergeChildren bool) (*models.ProcessListResponse, error)
- func (self *GopsUtil) GetProcessesWithCursor(sortBy ProcSortBy, limit int, enableCPU bool, cursor string, ...) (*models.ProcessListResponse, error)
- func (self *GopsUtil) GetSystemHardware() (*models.SystemHardware, error)
- func (self *GopsUtil) GetSystemInfo() (*models.SystemInfo, error)
- func (self *GopsUtil) GetSystemTemperatures() ([]models.TemperatureSensor, error)
- type HostInfoProvider
- type LoadInfoProvider
- type MemoryInfoProvider
- type MetaParams
- type NetworkInfoProvider
- type NetworkRateCursor
- type ProcSortBy
- type ProcessInfoProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CPUInfoProvider ¶ added in v0.1.12
type CPUInfoProvider interface {
Info() ([]cpu.InfoStat, error)
Counts(logical bool) (int, error)
Times(perCPU bool) ([]cpu.TimesStat, error)
Percent(interval time.Duration, perCPU bool) ([]float64, error)
}
CPUInfoProvider provides an interface for CPU information
type CPUTracker ¶
type CPUTracker struct {
// contains filtered or unexported fields
}
type CommandExecutor ¶ added in v0.1.12
CommandExecutor provides an interface for executing external commands
type DefaultCPUInfoProvider ¶ added in v0.1.12
type DefaultCPUInfoProvider struct{}
DefaultCPUInfoProvider implements CPUInfoProvider using gopsutil
func (*DefaultCPUInfoProvider) Counts ¶ added in v0.1.12
func (d *DefaultCPUInfoProvider) Counts(logical bool) (int, error)
func (*DefaultCPUInfoProvider) Info ¶ added in v0.1.12
func (d *DefaultCPUInfoProvider) Info() ([]cpu.InfoStat, error)
type DefaultDiskInfoProvider ¶ added in v0.1.12
type DefaultDiskInfoProvider struct{}
DefaultDiskInfoProvider implements DiskInfoProvider using gopsutil
func (*DefaultDiskInfoProvider) IOCounters ¶ added in v0.1.12
func (d *DefaultDiskInfoProvider) IOCounters() (map[string]disk.IOCountersStat, error)
func (*DefaultDiskInfoProvider) Partitions ¶ added in v0.1.12
func (d *DefaultDiskInfoProvider) Partitions(all bool) ([]disk.PartitionStat, error)
type DefaultFileSystem ¶ added in v0.1.12
type DefaultFileSystem struct{}
DefaultFileSystem implements FileSystem using standard os package
func (*DefaultFileSystem) ReadDir ¶ added in v0.1.12
func (d *DefaultFileSystem) ReadDir(name string) ([]fs.DirEntry, error)
type DefaultHostInfoProvider ¶ added in v0.1.12
type DefaultHostInfoProvider struct{}
DefaultHostInfoProvider implements HostInfoProvider using gopsutil
func (*DefaultHostInfoProvider) Info ¶ added in v0.1.12
func (d *DefaultHostInfoProvider) Info() (*host.InfoStat, error)
func (*DefaultHostInfoProvider) SensorsTemperatures ¶ added in v0.1.12
func (d *DefaultHostInfoProvider) SensorsTemperatures() ([]sensors.TemperatureStat, error)
type DefaultLoadInfoProvider ¶ added in v0.1.12
type DefaultLoadInfoProvider struct{}
DefaultLoadInfoProvider implements LoadInfoProvider using gopsutil
type DefaultMemoryInfoProvider ¶ added in v0.1.12
type DefaultMemoryInfoProvider struct{}
DefaultMemoryInfoProvider implements MemoryInfoProvider using gopsutil
func (*DefaultMemoryInfoProvider) SwapMemory ¶ added in v0.1.12
func (d *DefaultMemoryInfoProvider) SwapMemory() (*mem.SwapMemoryStat, error)
func (*DefaultMemoryInfoProvider) VirtualMemory ¶ added in v0.1.12
func (d *DefaultMemoryInfoProvider) VirtualMemory() (*mem.VirtualMemoryStat, error)
type DefaultNetworkInfoProvider ¶ added in v0.1.12
type DefaultNetworkInfoProvider struct{}
DefaultNetworkInfoProvider implements NetworkInfoProvider using gopsutil
func (*DefaultNetworkInfoProvider) IOCounters ¶ added in v0.1.12
func (d *DefaultNetworkInfoProvider) IOCounters(pernic bool) ([]net.IOCountersStat, error)
func (*DefaultNetworkInfoProvider) Interfaces ¶ added in v0.1.12
func (d *DefaultNetworkInfoProvider) Interfaces() ([]net.InterfaceStat, error)
type DefaultProcessInfoProvider ¶ added in v0.1.12
type DefaultProcessInfoProvider struct{}
DefaultProcessInfoProvider implements ProcessInfoProvider using gopsutil
func (*DefaultProcessInfoProvider) NewProcess ¶ added in v0.1.12
func (d *DefaultProcessInfoProvider) NewProcess(pid int32) (*process.Process, error)
type DiskInfoProvider ¶ added in v0.1.12
type DiskInfoProvider interface {
IOCounters() (map[string]disk.IOCountersStat, error)
Partitions(all bool) ([]disk.PartitionStat, error)
Usage(path string) (*disk.UsageStat, error)
}
DiskInfoProvider provides an interface for disk information
type DiskRateCursor ¶ added in v0.0.5
type DiskRateCursor struct {
Timestamp time.Time `json:"timestamp"`
IOStats map[string]disk.IOCountersStat `json:"iostats"`
}
type FileSystem ¶ added in v0.1.12
type FileSystem interface {
ReadFile(name string) ([]byte, error)
ReadDir(name string) ([]fs.DirEntry, error)
Stat(name string) (fs.FileInfo, error)
}
FileSystem provides an interface for file system operations to enable testing
type GopsUtil ¶
type GopsUtil struct {
// contains filtered or unexported fields
}
func NewGopsUtil ¶
func NewGopsUtil() *GopsUtil
func NewGopsUtilWithProviders ¶ added in v0.1.12
func NewGopsUtilWithProviders( cpu CPUInfoProvider, mem MemoryInfoProvider, disk DiskInfoProvider, net NetworkInfoProvider, proc ProcessInfoProvider, host HostInfoProvider, load LoadInfoProvider, fs FileSystem, ) *GopsUtil
NewGopsUtilWithProviders creates a GopsUtil with custom providers (for testing)
func (*GopsUtil) GetAllMetrics ¶
func (self *GopsUtil) GetAllMetrics(procSortBy ProcSortBy, procLimit int, enableProcessCPU bool, mergeChildren bool) (*models.SystemMetrics, error)
func (*GopsUtil) GetAllMetricsWithCursors ¶
func (self *GopsUtil) GetAllMetricsWithCursors(procSortBy ProcSortBy, procLimit int, enableProcessCPU bool, cpuCursor string, procCursor string, mergeChildren bool) (*models.SystemMetrics, error)
func (*GopsUtil) GetCPUInfoWithCursor ¶
func (*GopsUtil) GetDiskMounts ¶
func (self *GopsUtil) GetDiskMounts() ([]*models.DiskMountInfo, error)
func (*GopsUtil) GetDiskRates ¶ added in v0.0.5
func (self *GopsUtil) GetDiskRates(cursorStr string) (*models.DiskRateResponse, error)
func (*GopsUtil) GetGPUInfoWithTemp ¶
func (*GopsUtil) GetGPUTemp ¶
func (self *GopsUtil) GetGPUTemp(pciId string) (*models.GPUTempInfo, error)
func (*GopsUtil) GetMemoryInfo ¶
func (self *GopsUtil) GetMemoryInfo() (*models.MemoryInfo, error)
func (*GopsUtil) GetModules ¶
func (self *GopsUtil) GetModules() (*models.ModulesInfo, error)
func (*GopsUtil) GetNetworkInfo ¶
func (self *GopsUtil) GetNetworkInfo() ([]*models.NetworkInfo, error)
func (*GopsUtil) GetNetworkRates ¶ added in v0.0.5
func (self *GopsUtil) GetNetworkRates(cursorStr string) (*models.NetworkRateResponse, error)
func (*GopsUtil) GetProcesses ¶
func (self *GopsUtil) GetProcesses(sortBy ProcSortBy, limit int, enableCPU bool, mergeChildren bool) (*models.ProcessListResponse, error)
func (*GopsUtil) GetProcessesWithCursor ¶
func (self *GopsUtil) GetProcessesWithCursor(sortBy ProcSortBy, limit int, enableCPU bool, cursor string, mergeChildren bool) (*models.ProcessListResponse, error)
func (*GopsUtil) GetSystemHardware ¶
func (self *GopsUtil) GetSystemHardware() (*models.SystemHardware, error)
func (*GopsUtil) GetSystemInfo ¶
func (self *GopsUtil) GetSystemInfo() (*models.SystemInfo, error)
func (*GopsUtil) GetSystemTemperatures ¶ added in v0.0.5
func (self *GopsUtil) GetSystemTemperatures() ([]models.TemperatureSensor, error)
GetSystemTemperatures returns system temperature sensors
type HostInfoProvider ¶ added in v0.1.12
type HostInfoProvider interface {
Info() (*host.InfoStat, error)
SensorsTemperatures() ([]sensors.TemperatureStat, error)
}
HostInfoProvider provides an interface for host information
type LoadInfoProvider ¶ added in v0.1.12
LoadInfoProvider provides an interface for load average information
type MemoryInfoProvider ¶ added in v0.1.12
type MemoryInfoProvider interface {
VirtualMemory() (*mem.VirtualMemoryStat, error)
SwapMemory() (*mem.SwapMemoryStat, error)
}
MemoryInfoProvider provides an interface for memory information
type MetaParams ¶
type NetworkInfoProvider ¶ added in v0.1.12
type NetworkInfoProvider interface {
IOCounters(pernic bool) ([]net.IOCountersStat, error)
Interfaces() ([]net.InterfaceStat, error)
}
NetworkInfoProvider provides an interface for network information
type NetworkRateCursor ¶ added in v0.0.5
type NetworkRateCursor struct {
Timestamp time.Time `json:"timestamp"`
IOStats map[string]net.IOCountersStat `json:"iostats"`
}
type ProcSortBy ¶
type ProcSortBy string
const ( SortByCPU ProcSortBy = "cpu" SortByMemory ProcSortBy = "memory" SortByName ProcSortBy = "name" SortByPID ProcSortBy = "pid" )
func (ProcSortBy) Schema ¶
func (u ProcSortBy) Schema(r huma.Registry) *huma.Schema
Register enum in OpenAPI specification https://github.com/danielgtaylor/huma/issues/621