runtime

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyOptimizations

func ApplyOptimizations(config *OptimizationConfig) error

ApplyOptimizations applies optimization configuration to the runtime.

func GetRuntimeStats

func GetRuntimeStats() map[string]interface{}

GetRuntimeStats returns current runtime statistics.

func TuneForTelcoWorkloads

func TuneForTelcoWorkloads() error

TuneForTelcoWorkloads applies telco-specific optimizations.

Types

type Alert

type Alert struct {
	ID        string    `json:"id"`
	Severity  string    `json:"severity"`
	Message   string    `json:"message"`
	Component string    `json:"component"`
	Timestamp time.Time `json:"timestamp"`
	Resolved  bool      `json:"resolved"`
}

type HealthStatus

type HealthStatus struct {
	Overall    string            `json:"overall"`
	Components map[string]string `json:"components"`
	LastCheck  time.Time         `json:"last_check"`
	Alerts     []Alert           `json:"alerts"`
}

type LatencyLimits

type LatencyLimits struct {
	Processing time.Duration `json:"processing"`
	Network    time.Duration `json:"network"`
	Storage    time.Duration `json:"storage"`
	EndToEnd   time.Duration `json:"end_to_end"`
}

type MetricSource

type MetricSource interface {
	CollectMetrics(ctx context.Context) (*MetricsData, error)
	GetSourceName() string
	IsAvailable() bool
}

type MetricsCache

type MetricsCache struct {
	// contains filtered or unexported fields
}

func NewMetricsCache

func NewMetricsCache(ttl time.Duration) *MetricsCache

func (*MetricsCache) Get

func (mc *MetricsCache) Get(key string) (*MetricsData, error)

func (*MetricsCache) Set

func (mc *MetricsCache) Set(key string, data *MetricsData)

type MetricsCollector

type MetricsCollector struct {
	// contains filtered or unexported fields
}

func NewMetricsCollector

func NewMetricsCollector() *MetricsCollector

func (*MetricsCollector) AddMetricSource

func (mc *MetricsCollector) AddMetricSource(source MetricSource)

func (*MetricsCollector) GetLatestMetrics

func (mc *MetricsCollector) GetLatestMetrics(resourceName string) (*MetricsData, error)

func (*MetricsCollector) Start

func (mc *MetricsCollector) Start(ctx context.Context) error

func (*MetricsCollector) Stop

func (mc *MetricsCollector) Stop() error

type MetricsData

type MetricsData struct {
	Timestamp time.Time              `json:"timestamp"`
	Source    string                 `json:"source"`
	Metrics   map[string]float64     `json:"metrics"`
	Labels    map[string]string      `json:"labels"`
	Metadata  map[string]interface{} `json:"metadata"`
}

type NetworkLimits

type NetworkLimits struct {
	Bandwidth  ResourceRange `json:"bandwidth"`
	Latency    ResourceRange `json:"latency"`
	PacketLoss ResourceRange `json:"packet_loss"`
	Jitter     ResourceRange `json:"jitter"`
}

type OptimizationConfig

type OptimizationConfig struct {
	MaxProcs           int  `json:"max_procs"`
	AutoTuneMaxProcs   bool `json:"auto_tune_max_procs"`
	SwissTablesEnabled bool `json:"swiss_tables_enabled"`
	GCPercent          int  `json:"gc_percent"`
	PGOEnabled         bool `json:"pgo_enabled"`
}

OptimizationConfig holds configuration for runtime optimization settings.

func DefaultOptimizationConfig

func DefaultOptimizationConfig() *OptimizationConfig

DefaultOptimizationConfig returns a default optimization configuration.

type OptimizationEngine

type OptimizationEngine struct {
	// contains filtered or unexported fields
}

func NewOptimizationEngine

func NewOptimizationEngine(client client.Client) *OptimizationEngine

func (*OptimizationEngine) AddOptimizationProfile

func (oe *OptimizationEngine) AddOptimizationProfile(profile *OptimizationProfile)

func (*OptimizationEngine) AddOptimizationRule

func (oe *OptimizationEngine) AddOptimizationRule(rule OptimizationRule)

func (*OptimizationEngine) GetOptimizationProfile

func (oe *OptimizationEngine) GetOptimizationProfile(name string) (*OptimizationProfile, error)

func (*OptimizationEngine) GetRecommendations

func (oe *OptimizationEngine) GetRecommendations(ctx context.Context, resourceName string) ([]*OptimizationRecommendation, error)

func (*OptimizationEngine) OptimizeResource

func (oe *OptimizationEngine) OptimizeResource(ctx context.Context, resourceName string, target *OptimizationTarget) (*OptimizationResult, error)

func (*OptimizationEngine) ScheduleOptimization

func (oe *OptimizationEngine) ScheduleOptimization(task OptimizationTask) error

func (*OptimizationEngine) Start

func (oe *OptimizationEngine) Start(ctx context.Context) error

func (*OptimizationEngine) Stop

func (oe *OptimizationEngine) Stop() error

type OptimizationObjective

type OptimizationObjective interface {
	Calculate(state *ResourceState) float64
	GetObjectiveName() string
	GetWeight() float64
	IsMaximization() bool
}

type OptimizationProfile

type OptimizationProfile struct {
	Name        string                 `json:"name"`
	Type        string                 `json:"type"`
	Priority    int                    `json:"priority"`
	Constraints ResourceConstraints    `json:"constraints"`
	Objectives  []string               `json:"objectives"`
	Parameters  map[string]interface{} `json:"parameters"`
	Enabled     bool                   `json:"enabled"`
	CreatedAt   time.Time              `json:"created_at"`
	UpdatedAt   time.Time              `json:"updated_at"`
}

func CreateCPUOptimizationProfile

func CreateCPUOptimizationProfile() *OptimizationProfile

func CreateLatencyOptimizationProfile

func CreateLatencyOptimizationProfile() *OptimizationProfile

func DefaultOptimizationProfiles

func DefaultOptimizationProfiles() []*OptimizationProfile

func (*OptimizationProfile) CalculateScore

func (op *OptimizationProfile) CalculateScore(metrics *PerformanceMetrics) float64

func (*OptimizationProfile) FromJSON

func (op *OptimizationProfile) FromJSON(data []byte) error

func (*OptimizationProfile) IsHealthy

func (op *OptimizationProfile) IsHealthy() bool

func (*OptimizationProfile) ToJSON

func (op *OptimizationProfile) ToJSON() ([]byte, error)

func (*OptimizationProfile) Validate

func (op *OptimizationProfile) Validate() error

type OptimizationRecommendation

type OptimizationRecommendation struct {
	RuleName   string                 `json:"rule_name"`
	Priority   int                    `json:"priority"`
	Type       string                 `json:"type"`
	Target     string                 `json:"target"`
	Action     string                 `json:"action"`
	Parameters map[string]interface{} `json:"parameters"`
	Confidence float64                `json:"confidence"`
	Impact     string                 `json:"impact"`
	Reason     string                 `json:"reason"`
	Timestamp  time.Time              `json:"timestamp"`
}

type OptimizationResult

type OptimizationResult struct {
	Strategy      string                 `json:"strategy"`
	Success       bool                   `json:"success"`
	Changes       []ResourceChange       `json:"changes"`
	Confidence    float64                `json:"confidence"`
	EstimatedGain map[string]float64     `json:"estimated_gain"`
	Metadata      map[string]interface{} `json:"metadata"`
	Timestamp     time.Time              `json:"timestamp"`
}

type OptimizationRule

type OptimizationRule interface {
	Evaluate(ctx context.Context, metrics *MetricsData) (*OptimizationRecommendation, error)
	GetRuleName() string
	GetPriority() int
	IsEnabled() bool
}

type OptimizationScheduler

type OptimizationScheduler struct {
	// contains filtered or unexported fields
}

func NewOptimizationScheduler

func NewOptimizationScheduler() *OptimizationScheduler

func (*OptimizationScheduler) AddTask

func (os *OptimizationScheduler) AddTask(task OptimizationTask) error

func (*OptimizationScheduler) Start

func (os *OptimizationScheduler) Start(ctx context.Context) error

func (*OptimizationScheduler) Stop

func (os *OptimizationScheduler) Stop() error

type OptimizationStrategy

type OptimizationStrategy interface {
	Optimize(ctx context.Context, current *ResourceState, target *OptimizationTarget) (*OptimizationResult, error)
	GetStrategyName() string
	SupportsTarget(target *OptimizationTarget) bool
}

type OptimizationTarget

type OptimizationTarget struct {
	Type        string                 `json:"type"`
	Objective   string                 `json:"objective"`
	Constraints []string               `json:"constraints"`
	Parameters  map[string]interface{} `json:"parameters"`
	Weight      float64                `json:"weight"`
}

type OptimizationTask

type OptimizationTask struct {
	ID           string                 `json:"id"`
	Name         string                 `json:"name"`
	Type         string                 `json:"type"`
	Target       string                 `json:"target"`
	Schedule     string                 `json:"schedule"`
	Parameters   map[string]interface{} `json:"parameters"`
	Status       string                 `json:"status"`
	LastRun      time.Time              `json:"last_run"`
	NextRun      time.Time              `json:"next_run"`
	RunCount     int                    `json:"run_count"`
	SuccessCount int                    `json:"success_count"`
	FailureCount int                    `json:"failure_count"`
	CreatedAt    time.Time              `json:"created_at"`
}

type PerformanceMetrics

type PerformanceMetrics struct {
	Throughput   float64            `json:"throughput"`
	Latency      time.Duration      `json:"latency"`
	ErrorRate    float64            `json:"error_rate"`
	Availability float64            `json:"availability"`
	ResponseTime time.Duration      `json:"response_time"`
	QueueDepth   int                `json:"queue_depth"`
	Custom       map[string]float64 `json:"custom"`
}

type PerformanceMonitor

type PerformanceMonitor struct {
	// contains filtered or unexported fields
}

PerformanceMonitor monitors and adjusts performance parameters.

func NewPerformanceMonitor

func NewPerformanceMonitor(config *OptimizationConfig) *PerformanceMonitor

NewPerformanceMonitor creates a new performance monitor.

func (*PerformanceMonitor) Start

func (pm *PerformanceMonitor) Start()

Start starts the performance monitor.

func (*PerformanceMonitor) Stop

func (pm *PerformanceMonitor) Stop()

Stop stops the performance monitor.

func (*PerformanceMonitor) TriggerAdjustment

func (pm *PerformanceMonitor) TriggerAdjustment()

TriggerAdjustment triggers a performance adjustment.

type ResourceChange

type ResourceChange struct {
	Resource   string      `json:"resource"`
	Type       string      `json:"type"`
	Current    interface{} `json:"current"`
	Proposed   interface{} `json:"proposed"`
	Reason     string      `json:"reason"`
	Impact     string      `json:"impact"`
	Confidence float64     `json:"confidence"`
}

type ResourceConstraint

type ResourceConstraint interface {
	Validate(resource string, value interface{}) error
	GetConstraintName() string
	IsViolated(current interface{}) bool
}

type ResourceConstraints

type ResourceConstraints struct {
	CPU     ResourceRange          `json:"cpu"`
	Memory  ResourceRange          `json:"memory"`
	Storage ResourceRange          `json:"storage"`
	Network NetworkLimits          `json:"network"`
	Latency LatencyLimits          `json:"latency"`
	Custom  map[string]interface{} `json:"custom"`
}

type ResourceOptimizer

type ResourceOptimizer struct {
	// contains filtered or unexported fields
}

func NewResourceOptimizer

func NewResourceOptimizer() *ResourceOptimizer

func (*ResourceOptimizer) AddStrategy

func (ro *ResourceOptimizer) AddStrategy(name string, strategy OptimizationStrategy)

func (*ResourceOptimizer) SelectStrategy

func (ro *ResourceOptimizer) SelectStrategy(target *OptimizationTarget) (OptimizationStrategy, error)

type ResourceRange

type ResourceRange struct {
	Min float64 `json:"min"`
	Max float64 `json:"max"`
}

type ResourceState

type ResourceState struct {
	Resources   map[string]ResourceUsage `json:"resources"`
	Performance PerformanceMetrics       `json:"performance"`
	Health      HealthStatus             `json:"health"`
	Timestamp   time.Time                `json:"timestamp"`
}

type ResourceUsage

type ResourceUsage struct {
	Allocated float64 `json:"allocated"`
	Used      float64 `json:"used"`
	Available float64 `json:"available"`
	Unit      string  `json:"unit"`
}

type TaskExecution

type TaskExecution struct {
	Task      OptimizationTask `json:"task"`
	StartedAt time.Time        `json:"started_at"`
	Status    string           `json:"status"`
	Progress  float64          `json:"progress"`
	Error     error            `json:"error,omitempty"`
}

type TaskExecutor

type TaskExecutor struct {
	// contains filtered or unexported fields
}

func NewTaskExecutor

func NewTaskExecutor(maxConcurrent int) *TaskExecutor

func (*TaskExecutor) Start

func (te *TaskExecutor) Start(ctx context.Context) error

func (*TaskExecutor) Stop

func (te *TaskExecutor) Stop() error

type TaskWorker

type TaskWorker struct {
	ID int
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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