Documentation
¶
Index ¶
- func GetCPUUsage() (float64, error)
- type Capacity
- type CapacityCalculator
- type Manager
- func (m *Manager) GetProcessInfo(testID string) (*ProcessInfo, error)
- func (m *Manager) GetRunningCount() int
- func (m *Manager) GetServerCount() int
- func (m *Manager) IsServerRunning(port int) bool
- func (m *Manager) StartClient(testID, host string, port int, config *iperf.Config) error
- func (m *Manager) StartServer(port int) error
- func (m *Manager) StopAll() int
- func (m *Manager) StopAllClients() int
- func (m *Manager) StopAllServers() int
- func (m *Manager) StopProcess(testID string) error
- type ProcessInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetCPUUsage ¶
GetCPUUsage returns current CPU usage percentage
Types ¶
type Capacity ¶
type Capacity struct {
CPUCores int
AvailableMemory uint64
NetworkInterfaces []string
MaxProcesses int
AvailableProcesses int
}
Capacity represents system resource capacity
type CapacityCalculator ¶
type CapacityCalculator struct {
// contains filtered or unexported fields
}
CapacityCalculator calculates system resource capacity
func NewCapacityCalculator ¶
func NewCapacityCalculator(maxProcesses int) *CapacityCalculator
NewCapacityCalculator creates a new capacity calculator
func (*CapacityCalculator) DetectCapacity ¶
func (c *CapacityCalculator) DetectCapacity() (*Capacity, error)
DetectCapacity detects current system capacity
func (*CapacityCalculator) GetAvailableSlots ¶
func (c *CapacityCalculator) GetAvailableSlots() int
GetAvailableSlots returns the number of available process slots
func (*CapacityCalculator) GetUsedSlots ¶
func (c *CapacityCalculator) GetUsedSlots() int
GetUsedSlots returns the number of used process slots
func (*CapacityCalculator) ReleaseSlots ¶
func (c *CapacityCalculator) ReleaseSlots(count int)
ReleaseSlots releases process slots
func (*CapacityCalculator) ReserveSlots ¶
func (c *CapacityCalculator) ReserveSlots(count int) error
ReserveSlots reserves process slots
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager manages iperf3 processes
func NewManager ¶
func NewManager(portAllocator *port.Allocator, capacity *CapacityCalculator, resultCollector *collector.Collector, iperfPath string) *Manager
NewManager creates a new process manager
func (*Manager) GetProcessInfo ¶
func (m *Manager) GetProcessInfo(testID string) (*ProcessInfo, error)
GetProcessInfo returns information about a process
func (*Manager) GetRunningCount ¶
GetRunningCount returns the number of running processes
func (*Manager) GetServerCount ¶
GetServerCount returns the number of running servers
func (*Manager) IsServerRunning ¶
IsServerRunning checks if a server is running on a port
func (*Manager) StartClient ¶
StartClient starts an iperf3 client test
func (*Manager) StartServer ¶
StartServer starts an iperf3 server on the specified port
func (*Manager) StopAllClients ¶
StopAllClients stops all running clients
func (*Manager) StopAllServers ¶
StopAllServers stops all running servers
func (*Manager) StopProcess ¶
StopProcess stops a specific process