Documentation
¶
Index ¶
- Constants
- func ExampleBasicUsage()
- func ExampleMultipleResources()
- func ExampleResourceLeakDetection()
- func ExampleWithContext()
- func GetProcessChildren(pid int32) ([]int32, error)
- func GetProcessNumFDs(pid int32) (int32, error)
- func UpdateProcessInfo(proc *process.Process, usage *ResourceUsage) error
- type BaseResource
- type ContextResourceTracker
- func (ct *ContextResourceTracker) TrackDatabase(db *sql.DB, connInfo string) *DatabaseResource
- func (ct *ContextResourceTracker) TrackFile(file *os.File) *FileResource
- func (ct *ContextResourceTracker) TrackGeneric(id, resourceType string, closer func() error) *GenericResource
- func (ct *ContextResourceTracker) TrackNetwork(conn net.Conn) *NetworkResource
- type DatabaseResource
- type FileResource
- type GenericResource
- type NetworkResource
- type PROCESSENTRY32
- type Resource
- type ResourceActionHandler
- type ResourceAlertHandler
- type ResourceLimit
- type ResourceLimitAction
- type ResourceLimitType
- type ResourceLimiter
- func (l *ResourceLimiter) AddLimit(limit ResourceLimit)
- func (l *ResourceLimiter) Check() error
- func (l *ResourceLimiter) GetLimits() map[ResourceType][]ResourceLimit
- func (l *ResourceLimiter) GetResourceAlerts() map[ResourceType][]string
- func (l *ResourceLimiter) GetResourceStats() map[string]interface{}
- func (l *ResourceLimiter) GetResourceUsage() *ResourceUsage
- func (l *ResourceLimiter) GetResourceUsageHistory() []*ResourceUsage
- func (l *ResourceLimiter) LimitCPU(percent float64, action ResourceLimitAction)
- func (l *ResourceLimiter) LimitDisk(bytes uint64, action ResourceLimitAction)
- func (l *ResourceLimiter) LimitMemory(bytes uint64, action ResourceLimitAction)
- func (l *ResourceLimiter) LimitNetwork(bytesPerSecond uint64, action ResourceLimitAction)
- func (l *ResourceLimiter) RegisterActionHandler(action ResourceLimitAction, handler ResourceActionHandler)
- func (l *ResourceLimiter) RegisterAlertHandler(handler ResourceAlertHandler)
- func (l *ResourceLimiter) RemoveLimit(resourceType ResourceType, limitType ResourceLimitType)
- func (l *ResourceLimiter) SetGOMAXPROCS(n int)
- func (l *ResourceLimiter) SetProcessPriority(priority int) error
- func (l *ResourceLimiter) Start()
- func (l *ResourceLimiter) Stop()
- type ResourceManager
- func (rm *ResourceManager) GetProcessInfo() (map[string]interface{}, error)
- func (rm *ResourceManager) GetResourceAlerts() map[ResourceType][]string
- func (rm *ResourceManager) GetResourceLimits() map[ResourceType][]ResourceLimit
- func (rm *ResourceManager) GetResourceStats() map[string]interface{}
- func (rm *ResourceManager) GetResourceUsage() *ResourceUsage
- func (rm *ResourceManager) GetResourceUsageHistory() []*ResourceUsage
- func (rm *ResourceManager) GetSystemInfo() map[string]interface{}
- func (rm *ResourceManager) LimitCPU(percent float64, action ResourceLimitAction)
- func (rm *ResourceManager) LimitDisk(bytes uint64, action ResourceLimitAction)
- func (rm *ResourceManager) LimitMemory(bytes uint64, action ResourceLimitAction)
- func (rm *ResourceManager) LimitNetwork(bytesPerSecond uint64, action ResourceLimitAction)
- func (rm *ResourceManager) OptimizeCPUUsage()
- func (rm *ResourceManager) OptimizeMemoryUsage()
- func (rm *ResourceManager) OptimizeResourceUsage()
- func (rm *ResourceManager) RegisterActionHandler(action ResourceLimitAction, handler ResourceActionHandler)
- func (rm *ResourceManager) RegisterAlertHandler(handler ResourceAlertHandler)
- func (rm *ResourceManager) RemoveLimit(resourceType ResourceType, limitType ResourceLimitType)
- func (rm *ResourceManager) SetGOMAXPROCS(n int)
- func (rm *ResourceManager) SetProcessPriority(priority int) error
- func (rm *ResourceManager) Start()
- func (rm *ResourceManager) Stop()
- type ResourceManagerOption
- func WithContext(ctx context.Context) ResourceManagerOption
- func WithDiskPaths(paths []string) ResourceManagerOption
- func WithHistoryLimit(limit int) ResourceManagerOption
- func WithLogger(logger hclog.Logger) ResourceManagerOption
- func WithNetworkInterfaces(ifaces []string) ResourceManagerOption
- func WithProcessID(pid int32) ResourceManagerOption
- func WithUpdateInterval(interval time.Duration) ResourceManagerOption
- type ResourceStats
- type ResourceTracker
- func (rt *ResourceTracker) CleanupIdleResources(idleTimeout time.Duration) []error
- func (rt *ResourceTracker) Get(id string) (Resource, bool)
- func (rt *ResourceTracker) GetStats() ResourceStats
- func (rt *ResourceTracker) ListResources() []Resource
- func (rt *ResourceTracker) Release(id string) error
- func (rt *ResourceTracker) ReleaseAll() []error
- func (rt *ResourceTracker) ReleaseByType(resourceType string) []error
- func (rt *ResourceTracker) Stop()
- func (rt *ResourceTracker) Track(resource Resource)
- func (rt *ResourceTracker) TrackDatabase(db *sql.DB, connInfo string) *DatabaseResource
- func (rt *ResourceTracker) TrackFile(file *os.File) *FileResource
- func (rt *ResourceTracker) TrackGeneric(id, resourceType string, closer func() error) *GenericResource
- func (rt *ResourceTracker) TrackNetwork(conn net.Conn) *NetworkResource
- type ResourceTrackerOption
- type ResourceType
- type ResourceUsage
- type ResourceUsageSnapshot
- type ResourceUsageTracker
- func (t *ResourceUsageTracker) GetResourceLimit(resourceType ResourceType) (uint64, bool)
- func (t *ResourceUsageTracker) GetSnapshot() *ResourceUsageSnapshot
- func (t *ResourceUsageTracker) RemoveResourceLimit(resourceType ResourceType)
- func (t *ResourceUsageTracker) SetDiskPaths(paths []string)
- func (t *ResourceUsageTracker) SetNetworkInterfaces(ifaces []string)
- func (t *ResourceUsageTracker) SetResourceLimit(resourceType ResourceType, limit uint64)
- func (t *ResourceUsageTracker) Update() error
Constants ¶
const ( PROCESS_QUERY_INFORMATION = 0x0400 PROCESS_VM_READ = 0x0010 )
Windows API 常量
Variables ¶
This section is empty.
Functions ¶
func ExampleMultipleResources ¶
func ExampleMultipleResources()
ExampleMultipleResources 展示管理多种资源的用法
func ExampleResourceLeakDetection ¶
func ExampleResourceLeakDetection()
ExampleResourceLeakDetection 展示资源泄漏检测的用法
func GetProcessChildren ¶
GetProcessChildren 获取进程的子进程
func GetProcessNumFDs ¶
GetProcessNumFDs 获取进程的文件描述符数量
func UpdateProcessInfo ¶
func UpdateProcessInfo(proc *process.Process, usage *ResourceUsage) error
UpdateProcessInfo 更新进程信息 这是一个适配函数,用于在Windows平台上处理特定的进程信息更新
Types ¶
type BaseResource ¶
type BaseResource struct {
// contains filtered or unexported fields
}
BaseResource 提供Resource接口的基本实现
func NewBaseResource ¶
func NewBaseResource(id, resourceType string, closer func() error) *BaseResource
NewBaseResource 创建一个新的基础资源
func (*BaseResource) LastUsedAt ¶
func (r *BaseResource) LastUsedAt() time.Time
LastUsedAt 返回资源的最后使用时间
func (*BaseResource) UpdateLastUsed ¶
func (r *BaseResource) UpdateLastUsed()
UpdateLastUsed 更新资源的最后使用时间
type ContextResourceTracker ¶
type ContextResourceTracker struct {
*ResourceTracker
// contains filtered or unexported fields
}
ContextResourceTracker 是一个与上下文关联的资源追踪器
func WithTrackerContext ¶
func WithTrackerContext(ctx context.Context, tracker *ResourceTracker) *ContextResourceTracker
WithTrackerContext 创建一个与上下文关联的资源追踪器
func (*ContextResourceTracker) TrackDatabase ¶
func (ct *ContextResourceTracker) TrackDatabase(db *sql.DB, connInfo string) *DatabaseResource
TrackDatabase 追踪数据库资源
func (*ContextResourceTracker) TrackFile ¶
func (ct *ContextResourceTracker) TrackFile(file *os.File) *FileResource
TrackFile 追踪文件资源
func (*ContextResourceTracker) TrackGeneric ¶
func (ct *ContextResourceTracker) TrackGeneric(id, resourceType string, closer func() error) *GenericResource
TrackGeneric 追踪通用资源
func (*ContextResourceTracker) TrackNetwork ¶
func (ct *ContextResourceTracker) TrackNetwork(conn net.Conn) *NetworkResource
TrackNetwork 追踪网络资源
type DatabaseResource ¶
type DatabaseResource struct {
*BaseResource
// contains filtered or unexported fields
}
DatabaseResource 表示一个数据库资源
func NewDatabaseResource ¶
func NewDatabaseResource(id string, db *sql.DB, connInfo string) *DatabaseResource
NewDatabaseResource 创建一个新的数据库资源
type FileResource ¶
type FileResource struct {
*BaseResource
// contains filtered or unexported fields
}
FileResource 表示一个文件资源
func NewFileResource ¶
func NewFileResource(id string, file *os.File) *FileResource
NewFileResource 创建一个新的文件资源
type GenericResource ¶
type GenericResource struct {
*BaseResource
// contains filtered or unexported fields
}
GenericResource 表示一个通用资源
func NewGenericResource ¶
func NewGenericResource(id, resourceType string, closer func() error) *GenericResource
NewGenericResource 创建一个新的通用资源
func (*GenericResource) SetData ¶
func (r *GenericResource) SetData(data interface{})
SetData 设置资源数据
type NetworkResource ¶
type NetworkResource struct {
*BaseResource
// contains filtered or unexported fields
}
NetworkResource 表示一个网络资源
func NewNetworkResource ¶
func NewNetworkResource(id string, conn net.Conn) *NetworkResource
NewNetworkResource 创建一个新的网络资源
func (*NetworkResource) RemoteAddr ¶
func (r *NetworkResource) RemoteAddr() net.Addr
RemoteAddr 返回远程地址
type PROCESSENTRY32 ¶
type PROCESSENTRY32 struct {
// contains filtered or unexported fields
}
Windows API 结构体
type Resource ¶
type Resource interface {
// Close 关闭资源
Close() error
// ID 返回资源的唯一标识符
ID() string
// Type 返回资源的类型
Type() string
// CreatedAt 返回资源的创建时间
CreatedAt() time.Time
// LastUsedAt 返回资源的最后使用时间
LastUsedAt() time.Time
// UpdateLastUsed 更新资源的最后使用时间
UpdateLastUsed()
}
Resource 表示一个需要追踪的资源
type ResourceActionHandler ¶
type ResourceActionHandler func(resourceType ResourceType, limit ResourceLimit, usage *ResourceUsage) error
ResourceActionHandler 资源动作处理器
type ResourceAlertHandler ¶
type ResourceAlertHandler func(resourceType ResourceType, message string)
ResourceAlertHandler 资源告警处理器
type ResourceLimit ¶
type ResourceLimit struct {
ResourceType ResourceType // 资源类型
LimitType ResourceLimitType // 限制类型
Value uint64 // 限制值
Action ResourceLimitAction // 限制动作
Duration time.Duration // 持续时间
}
ResourceLimit 资源限制
type ResourceLimitAction ¶
type ResourceLimitAction string
ResourceLimitAction 资源限制动作
const ( ResourceLimitActionNone ResourceLimitAction = "none" // 无动作 ResourceLimitActionLog ResourceLimitAction = "log" // 记录日志 ResourceLimitActionAlert ResourceLimitAction = "alert" // 发送告警 ResourceLimitActionThrottle ResourceLimitAction = "throttle" // 限流 ResourceLimitActionReject ResourceLimitAction = "reject" // 拒绝 ResourceLimitActionRestart ResourceLimitAction = "restart" // 重启 ResourceLimitActionStop ResourceLimitAction = "stop" // 停止 )
预定义资源限制动作
type ResourceLimitType ¶
type ResourceLimitType string
ResourceLimitType 资源限制类型
const ( ResourceLimitTypeSoft ResourceLimitType = "soft" // 软限制 ResourceLimitTypeHard ResourceLimitType = "hard" // 硬限制 )
预定义资源限制类型
type ResourceLimiter ¶
type ResourceLimiter struct {
// contains filtered or unexported fields
}
ResourceLimiter 资源限制器
func NewResourceLimiter ¶
func NewResourceLimiter(tracker *ResourceUsageTracker, logger hclog.Logger) *ResourceLimiter
NewResourceLimiter 创建资源限制器
func (*ResourceLimiter) AddLimit ¶
func (l *ResourceLimiter) AddLimit(limit ResourceLimit)
AddLimit 添加资源限制
func (*ResourceLimiter) GetLimits ¶
func (l *ResourceLimiter) GetLimits() map[ResourceType][]ResourceLimit
GetLimits 获取资源限制
func (*ResourceLimiter) GetResourceAlerts ¶
func (l *ResourceLimiter) GetResourceAlerts() map[ResourceType][]string
GetResourceAlerts 获取资源告警
func (*ResourceLimiter) GetResourceStats ¶
func (l *ResourceLimiter) GetResourceStats() map[string]interface{}
GetResourceStats 获取资源统计信息
func (*ResourceLimiter) GetResourceUsage ¶
func (l *ResourceLimiter) GetResourceUsage() *ResourceUsage
GetResourceUsage 获取资源使用情况
func (*ResourceLimiter) GetResourceUsageHistory ¶
func (l *ResourceLimiter) GetResourceUsageHistory() []*ResourceUsage
GetResourceUsageHistory 获取资源使用历史
func (*ResourceLimiter) LimitCPU ¶
func (l *ResourceLimiter) LimitCPU(percent float64, action ResourceLimitAction)
LimitCPU 限制CPU使用
func (*ResourceLimiter) LimitDisk ¶
func (l *ResourceLimiter) LimitDisk(bytes uint64, action ResourceLimitAction)
LimitDisk 限制磁盘使用
func (*ResourceLimiter) LimitMemory ¶
func (l *ResourceLimiter) LimitMemory(bytes uint64, action ResourceLimitAction)
LimitMemory 限制内存使用
func (*ResourceLimiter) LimitNetwork ¶
func (l *ResourceLimiter) LimitNetwork(bytesPerSecond uint64, action ResourceLimitAction)
LimitNetwork 限制网络使用
func (*ResourceLimiter) RegisterActionHandler ¶
func (l *ResourceLimiter) RegisterActionHandler(action ResourceLimitAction, handler ResourceActionHandler)
RegisterActionHandler 注册动作处理器
func (*ResourceLimiter) RegisterAlertHandler ¶
func (l *ResourceLimiter) RegisterAlertHandler(handler ResourceAlertHandler)
RegisterAlertHandler 注册告警处理器
func (*ResourceLimiter) RemoveLimit ¶
func (l *ResourceLimiter) RemoveLimit(resourceType ResourceType, limitType ResourceLimitType)
RemoveLimit 移除资源限制
func (*ResourceLimiter) SetGOMAXPROCS ¶
func (l *ResourceLimiter) SetGOMAXPROCS(n int)
SetGOMAXPROCS 设置GOMAXPROCS
func (*ResourceLimiter) SetProcessPriority ¶
func (l *ResourceLimiter) SetProcessPriority(priority int) error
SetProcessPriority 设置进程优先级
type ResourceManager ¶
type ResourceManager struct {
// contains filtered or unexported fields
}
ResourceManager 资源管理器
func NewResourceManager ¶
func NewResourceManager(options ...ResourceManagerOption) *ResourceManager
NewResourceManager 创建资源管理器
func (*ResourceManager) GetProcessInfo ¶
func (rm *ResourceManager) GetProcessInfo() (map[string]interface{}, error)
GetProcessInfo 获取进程信息
func (*ResourceManager) GetResourceAlerts ¶
func (rm *ResourceManager) GetResourceAlerts() map[ResourceType][]string
GetResourceAlerts 获取资源告警
func (*ResourceManager) GetResourceLimits ¶
func (rm *ResourceManager) GetResourceLimits() map[ResourceType][]ResourceLimit
GetResourceLimits 获取资源限制
func (*ResourceManager) GetResourceStats ¶
func (rm *ResourceManager) GetResourceStats() map[string]interface{}
GetResourceStats 获取资源统计信息
func (*ResourceManager) GetResourceUsage ¶
func (rm *ResourceManager) GetResourceUsage() *ResourceUsage
GetResourceUsage 获取资源使用情况
func (*ResourceManager) GetResourceUsageHistory ¶
func (rm *ResourceManager) GetResourceUsageHistory() []*ResourceUsage
GetResourceUsageHistory 获取资源使用历史
func (*ResourceManager) GetSystemInfo ¶
func (rm *ResourceManager) GetSystemInfo() map[string]interface{}
GetSystemInfo 获取系统信息
func (*ResourceManager) LimitCPU ¶
func (rm *ResourceManager) LimitCPU(percent float64, action ResourceLimitAction)
LimitCPU 限制CPU使用
func (*ResourceManager) LimitDisk ¶
func (rm *ResourceManager) LimitDisk(bytes uint64, action ResourceLimitAction)
LimitDisk 限制磁盘使用
func (*ResourceManager) LimitMemory ¶
func (rm *ResourceManager) LimitMemory(bytes uint64, action ResourceLimitAction)
LimitMemory 限制内存使用
func (*ResourceManager) LimitNetwork ¶
func (rm *ResourceManager) LimitNetwork(bytesPerSecond uint64, action ResourceLimitAction)
LimitNetwork 限制网络使用
func (*ResourceManager) OptimizeCPUUsage ¶
func (rm *ResourceManager) OptimizeCPUUsage()
OptimizeCPUUsage 优化CPU使用
func (*ResourceManager) OptimizeMemoryUsage ¶
func (rm *ResourceManager) OptimizeMemoryUsage()
OptimizeMemoryUsage 优化内存使用
func (*ResourceManager) OptimizeResourceUsage ¶
func (rm *ResourceManager) OptimizeResourceUsage()
OptimizeResourceUsage 优化资源使用
func (*ResourceManager) RegisterActionHandler ¶
func (rm *ResourceManager) RegisterActionHandler(action ResourceLimitAction, handler ResourceActionHandler)
RegisterActionHandler 注册动作处理器
func (*ResourceManager) RegisterAlertHandler ¶
func (rm *ResourceManager) RegisterAlertHandler(handler ResourceAlertHandler)
RegisterAlertHandler 注册告警处理器
func (*ResourceManager) RemoveLimit ¶
func (rm *ResourceManager) RemoveLimit(resourceType ResourceType, limitType ResourceLimitType)
RemoveLimit 移除资源限制
func (*ResourceManager) SetGOMAXPROCS ¶
func (rm *ResourceManager) SetGOMAXPROCS(n int)
SetGOMAXPROCS 设置GOMAXPROCS
func (*ResourceManager) SetProcessPriority ¶
func (rm *ResourceManager) SetProcessPriority(priority int) error
SetProcessPriority 设置进程优先级
type ResourceManagerOption ¶
type ResourceManagerOption func(*ResourceManager)
ResourceManagerOption 资源管理器选项
func WithHistoryLimit ¶
func WithHistoryLimit(limit int) ResourceManagerOption
WithHistoryLimit 设置历史记录限制
func WithNetworkInterfaces ¶
func WithNetworkInterfaces(ifaces []string) ResourceManagerOption
WithNetworkInterfaces 设置网络接口
func WithUpdateInterval ¶
func WithUpdateInterval(interval time.Duration) ResourceManagerOption
WithUpdateInterval 设置更新间隔
type ResourceStats ¶
type ResourceStats struct {
TotalCreated int64
TotalClosed int64
CurrentActive int64
ClosureErrors int64
}
ResourceStats 资源统计信息
type ResourceTracker ¶
type ResourceTracker struct {
// contains filtered or unexported fields
}
ResourceTracker 管理和追踪系统中的资源
func NewResourceTracker ¶
func NewResourceTracker(options ...ResourceTrackerOption) *ResourceTracker
NewResourceTracker 创建一个新的资源追踪器
func (*ResourceTracker) CleanupIdleResources ¶
func (rt *ResourceTracker) CleanupIdleResources(idleTimeout time.Duration) []error
CleanupIdleResources 清理空闲资源
func (*ResourceTracker) GetStats ¶
func (rt *ResourceTracker) GetStats() ResourceStats
GetStats 获取资源统计信息
func (*ResourceTracker) ListResources ¶
func (rt *ResourceTracker) ListResources() []Resource
ListResources 列出所有资源
func (*ResourceTracker) Release ¶
func (rt *ResourceTracker) Release(id string) error
Release 释放一个资源
func (*ResourceTracker) ReleaseAll ¶
func (rt *ResourceTracker) ReleaseAll() []error
ReleaseAll 释放所有资源
func (*ResourceTracker) ReleaseByType ¶
func (rt *ResourceTracker) ReleaseByType(resourceType string) []error
ReleaseByType 释放指定类型的所有资源
func (*ResourceTracker) TrackDatabase ¶
func (rt *ResourceTracker) TrackDatabase(db *sql.DB, connInfo string) *DatabaseResource
TrackDatabase 追踪数据库资源
func (*ResourceTracker) TrackFile ¶
func (rt *ResourceTracker) TrackFile(file *os.File) *FileResource
TrackFile 追踪文件资源
func (*ResourceTracker) TrackGeneric ¶
func (rt *ResourceTracker) TrackGeneric(id, resourceType string, closer func() error) *GenericResource
TrackGeneric 追踪通用资源
func (*ResourceTracker) TrackNetwork ¶
func (rt *ResourceTracker) TrackNetwork(conn net.Conn) *NetworkResource
TrackNetwork 追踪网络资源
type ResourceTrackerOption ¶
type ResourceTrackerOption func(*ResourceTracker)
ResourceTrackerOption 资源追踪器配置选项
func WithCleanupInterval ¶
func WithCleanupInterval(interval time.Duration) ResourceTrackerOption
WithCleanupInterval 设置自动清理间隔
func WithTrackerLogger ¶
func WithTrackerLogger(logger hclog.Logger) ResourceTrackerOption
WithTrackerLogger 设置日志记录器
type ResourceType ¶
type ResourceType string
ResourceType 资源类型
const ( ResourceTypeCPU ResourceType = "cpu" // CPU ResourceTypeMemory ResourceType = "memory" // 内存 ResourceTypeDisk ResourceType = "disk" // 磁盘 ResourceTypeNetwork ResourceType = "network" // 网络 )
预定义资源类型
type ResourceUsage ¶
type ResourceUsage struct {
// CPU使用情况
CPUUsage float64 // CPU使用率(百分比)
CPUTime float64 // CPU时间(秒)
CPUUserTime float64 // CPU用户时间(秒)
CPUSystemTime float64 // CPU系统时间(秒)
CPUCount int // CPU核心数
CPUPercent []float64 // 每个CPU核心的使用率
// 内存使用情况
MemoryUsage uint64 // 内存使用量(字节)
MemoryPercent float64 // 内存使用率(百分比)
MemoryRSS uint64 // 常驻内存集(字节)
MemoryVMS uint64 // 虚拟内存大小(字节)
MemorySwap uint64 // 交换内存使用量(字节)
MemoryTotal uint64 // 总内存(字节)
MemoryFree uint64 // 空闲内存(字节)
MemoryAvailable uint64 // 可用内存(字节)
// 磁盘使用情况
DiskUsage uint64 // 磁盘使用量(字节)
DiskPercent float64 // 磁盘使用率(百分比)
DiskTotal uint64 // 总磁盘空间(字节)
DiskFree uint64 // 空闲磁盘空间(字节)
DiskReadBytes uint64 // 磁盘读取字节数
DiskWriteBytes uint64 // 磁盘写入字节数
DiskReadCount uint64 // 磁盘读取次数
DiskWriteCount uint64 // 磁盘写入次数
DiskReadTime uint64 // 磁盘读取时间(毫秒)
DiskWriteTime uint64 // 磁盘写入时间(毫秒)
// 网络使用情况
NetworkSentBytes uint64 // 发送字节数
NetworkReceivedBytes uint64 // 接收字节数
NetworkSentPackets uint64 // 发送数据包数
NetworkRecvPackets uint64 // 接收数据包数
NetworkDroppedPackets uint64 // 丢弃数据包数
NetworkErrorPackets uint64 // 错误数据包数
// 进程信息
ProcessID int32 // 进程ID
ProcessName string // 进程名称
ProcessStatus string // 进程状态
ProcessCreateTime int64 // 进程创建时间(Unix时间戳)
ProcessThreads int32 // 进程线程数
ProcessFDs int32 // 进程文件描述符数
ProcessChildren []int32 // 子进程ID列表
// 时间信息
Timestamp time.Time // 时间戳
}
ResourceUsage 资源使用情况
type ResourceUsageSnapshot ¶
type ResourceUsageSnapshot struct {
Current *ResourceUsage // 当前资源使用情况
Previous *ResourceUsage // 上一次资源使用情况
Delta *ResourceUsage // 资源使用变化
History []*ResourceUsage // 历史资源使用情况
Stats map[string]interface{} // 统计信息
Limits map[ResourceType]uint64 // 资源限制
Alerts map[ResourceType][]string // 资源告警
}
ResourceUsageSnapshot 资源使用快照
func NewResourceUsageSnapshot ¶
func NewResourceUsageSnapshot() *ResourceUsageSnapshot
NewResourceUsageSnapshot 创建资源使用快照
type ResourceUsageTracker ¶
type ResourceUsageTracker struct {
// contains filtered or unexported fields
}
ResourceUsageTracker 资源使用跟踪器
func NewResourceUsageTracker ¶
func NewResourceUsageTracker(processID int32, historyLimit int) *ResourceUsageTracker
NewResourceUsageTracker 创建资源使用跟踪器
func (*ResourceUsageTracker) GetResourceLimit ¶
func (t *ResourceUsageTracker) GetResourceLimit(resourceType ResourceType) (uint64, bool)
GetResourceLimit 获取资源限制
func (*ResourceUsageTracker) GetSnapshot ¶
func (t *ResourceUsageTracker) GetSnapshot() *ResourceUsageSnapshot
GetSnapshot 获取资源使用快照
func (*ResourceUsageTracker) RemoveResourceLimit ¶
func (t *ResourceUsageTracker) RemoveResourceLimit(resourceType ResourceType)
RemoveResourceLimit 移除资源限制
func (*ResourceUsageTracker) SetDiskPaths ¶
func (t *ResourceUsageTracker) SetDiskPaths(paths []string)
SetDiskPaths 设置磁盘路径
func (*ResourceUsageTracker) SetNetworkInterfaces ¶
func (t *ResourceUsageTracker) SetNetworkInterfaces(ifaces []string)
SetNetworkInterfaces 设置网络接口
func (*ResourceUsageTracker) SetResourceLimit ¶
func (t *ResourceUsageTracker) SetResourceLimit(resourceType ResourceType, limit uint64)
SetResourceLimit 设置资源限制