Documentation
¶
Index ¶
- type PluginMetrics
- type ResourceMonitor
- func (rm *ResourceMonitor) CheckResourceLimits(pluginName string) error
- func (rm *ResourceMonitor) Cleanup(pluginName string)
- func (rm *ResourceMonitor) GetAllMetrics() map[string]*PluginMetrics
- func (rm *ResourceMonitor) GetPluginMetrics(pluginName string) *PluginMetrics
- func (rm *ResourceMonitor) RecordPluginMetrics(pluginName string, metrics *PluginMetrics)
- type Sandbox
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PluginMetrics ¶
type PluginMetrics struct {
MemoryUsageMB float64
CPUUsagePercent float64
LoadTime time.Duration
InitTime time.Duration
LastAccess time.Time
}
PluginMetrics holds resource metrics for a plugin
type ResourceMonitor ¶
type ResourceMonitor struct {
// contains filtered or unexported fields
}
ResourceMonitor monitors plugin resource usage
func NewResourceMonitor ¶
func NewResourceMonitor(cfg *config.PerformanceConfig) *ResourceMonitor
NewResourceMonitor creates a new resource monitor
func (*ResourceMonitor) CheckResourceLimits ¶
func (rm *ResourceMonitor) CheckResourceLimits(pluginName string) error
CheckResourceLimits validates if plugin can be loaded based on resource limits
func (*ResourceMonitor) Cleanup ¶
func (rm *ResourceMonitor) Cleanup(pluginName string)
Cleanup removes metrics for unloaded plugins
func (*ResourceMonitor) GetAllMetrics ¶
func (rm *ResourceMonitor) GetAllMetrics() map[string]*PluginMetrics
GetAllMetrics returns all plugin metrics
func (*ResourceMonitor) GetPluginMetrics ¶
func (rm *ResourceMonitor) GetPluginMetrics(pluginName string) *PluginMetrics
GetPluginMetrics returns metrics for a specific plugin
func (*ResourceMonitor) RecordPluginMetrics ¶
func (rm *ResourceMonitor) RecordPluginMetrics(pluginName string, metrics *PluginMetrics)
RecordPluginMetrics records resource usage for a plugin
type Sandbox ¶
type Sandbox struct {
// contains filtered or unexported fields
}
Sandbox provides security controls for extension loading
func NewSandbox ¶
func NewSandbox(cfg *config.SecurityConfig) *Sandbox
NewSandbox creates a new sandbox instance
func (*Sandbox) ValidatePluginPath ¶
ValidatePluginPath checks if plugin path is allowed
func (*Sandbox) ValidatePluginSignature ¶
ValidatePluginSignature checks plugin signature if required
func (*Sandbox) ValidatePluginSource ¶
ValidatePluginSource checks if plugin source is trusted