gops

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2026 License: MIT Imports: 28 Imported by: 0

Documentation

Index

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

type CommandExecutor interface {
	Execute(name string, args ...string) ([]byte, error)
}

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)

func (*DefaultCPUInfoProvider) Percent added in v0.1.12

func (d *DefaultCPUInfoProvider) Percent(interval time.Duration, perCPU bool) ([]float64, error)

func (*DefaultCPUInfoProvider) Times added in v0.1.12

func (d *DefaultCPUInfoProvider) Times(perCPU bool) ([]cpu.TimesStat, 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)

func (*DefaultDiskInfoProvider) Usage added in v0.1.12

func (d *DefaultDiskInfoProvider) Usage(path string) (*disk.UsageStat, 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)

func (*DefaultFileSystem) ReadFile added in v0.1.12

func (d *DefaultFileSystem) ReadFile(name string) ([]byte, error)

func (*DefaultFileSystem) Stat added in v0.1.12

func (d *DefaultFileSystem) Stat(name string) (fs.FileInfo, 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 (*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

func (*DefaultLoadInfoProvider) Avg added in v0.1.12

func (*DefaultLoadInfoProvider) Misc added in v0.1.12

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)

func (*DefaultProcessInfoProvider) Processes added in v0.1.12

func (d *DefaultProcessInfoProvider) Processes() ([]*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

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) GetCPUInfo

func (self *GopsUtil) GetCPUInfo() (*models.CPUInfo, error)

func (*GopsUtil) GetCPUInfoWithCursor

func (self *GopsUtil) GetCPUInfoWithCursor(cursor string) (*models.CPUInfo, error)

func (*GopsUtil) GetDiskInfo

func (self *GopsUtil) GetDiskInfo() ([]*models.DiskInfo, error)

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) GetGPUInfo

func (self *GopsUtil) GetGPUInfo() (*models.GPUInfo, error)

func (*GopsUtil) GetGPUInfoWithTemp

func (self *GopsUtil) GetGPUInfoWithTemp(pciIds []string) (*models.GPUInfo, error)

func (*GopsUtil) GetGPUTemp

func (self *GopsUtil) GetGPUTemp(pciId string) (*models.GPUTempInfo, error)

func (*GopsUtil) GetMemoryInfo

func (self *GopsUtil) GetMemoryInfo() (*models.MemoryInfo, error)

func (*GopsUtil) GetMeta

func (self *GopsUtil) GetMeta(ctx context.Context, modules []string, params MetaParams) (*models.MetaInfo, 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

type LoadInfoProvider interface {
	Avg() (*load.AvgStat, error)
	Misc() (*load.MiscStat, error)
}

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 MetaParams struct {
	SortBy         ProcSortBy
	ProcLimit      int
	EnableCPU      bool
	MergeChildren  bool
	GPUPciIds      []string
	CPUCursor      string
	ProcCursor     string
	NetRateCursor  string
	DiskRateCursor string
}

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

type ProcessInfoProvider added in v0.1.12

type ProcessInfoProvider interface {
	Processes() ([]*process.Process, error)
	NewProcess(pid int32) (*process.Process, error)
}

ProcessInfoProvider provides an interface for process information

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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