Documentation
¶
Index ¶
- func ExampleAdvancedOptimization()
- func ExampleBasicOptimization()
- func ExampleBatchOptimization()
- func ExampleConfigurationManagement()
- func ExampleHealthMonitoring()
- func ExamplePerformanceBenchmarking()
- func ValidateConfig(config *PerformanceConfig) error
- type AnalysisConfig
- type AnalysisRule
- type AppliedOptimization
- type BatchOperation
- type BatchProcessor
- type Bottleneck
- type CacheAnalyzer
- type CacheConfig
- type CacheEntry
- type CacheManager
- func (cm *CacheManager) Delete(key string)
- func (cm *CacheManager) Get(key string) (interface{}, bool)
- func (cm *CacheManager) GetMetrics() *CacheMetrics
- func (cm *CacheManager) GetPerformanceLog() []*CacheOperation
- func (cm *CacheManager) GetRecommendations() []*CacheRecommendation
- func (cm *CacheManager) InvalidateByTags(tags []string)
- func (cm *CacheManager) Set(key string, value interface{}, ttl time.Duration, priority CachePriority)
- func (cm *CacheManager) Shutdown() error
- type CacheMetrics
- type CacheOperation
- type CachePriority
- type CacheRecommendation
- type CacheStats
- type CacheWarmer
- type CachedQuery
- type ConcurrencyConfig
- type ConcurrencyManager
- type ConcurrencyMetrics
- type DatabaseOptimizer
- func (do *DatabaseOptimizer) BatchAddThreats(threats []*database.ThreatRecord) error
- func (do *DatabaseOptimizer) GetOptimizationMetrics() *OptimizationMetrics
- func (do *DatabaseOptimizer) GetSlowQueries() []*SlowQuery
- func (do *DatabaseOptimizer) OptimizedGetThreat(packageName, registry string) (*database.ThreatRecord, error)
- func (do *DatabaseOptimizer) OptimizedGetThreats(registry, threatType string, limit int) ([]*database.ThreatRecord, error)
- func (do *DatabaseOptimizer) Shutdown() error
- type DatabaseStats
- type GCStats
- type IndexInfo
- type IndexManager
- type L1Cache
- type L1Config
- type L2Cache
- type L2Config
- type L3Cache
- type L3Config
- type LayerMetrics
- type LoadBalancer
- type LoadBalancerMetrics
- type LoadBalancingStrategy
- type MonitoringConfig
- type OptimizationAlert
- type OptimizationConfig
- type OptimizationEngine
- type OptimizationEngineConfig
- type OptimizationImpact
- type OptimizationImprovement
- type OptimizationManager
- func DevelopmentOptimizationSetup(db *database.ThreatDB) (*OptimizationManager, error)
- func NewOptimizationManager(db *database.ThreatDB, environment string) (*OptimizationManager, error)
- func QuickOptimizationSetup(db *database.ThreatDB) (*OptimizationManager, error)
- func TestOptimizationSetup(db *database.ThreatDB) (*OptimizationManager, error)
- func (om *OptimizationManager) ApplyOptimizationRecommendation(recommendationID string) error
- func (om *OptimizationManager) BatchOptimizedThreatLookup(packages []types.Package) ([]*database.ThreatRecord, error)
- func (om *OptimizationManager) GenerateOptimizationReport() *OptimizationReport
- func (om *OptimizationManager) GetConfiguration() *PerformanceConfig
- func (om *OptimizationManager) GetOptimizationStats() *OptimizationStats
- func (om *OptimizationManager) IsRunning() bool
- func (om *OptimizationManager) OptimizationHealthCheck() map[string]string
- func (om *OptimizationManager) OptimizedThreatLookup(packageName, registry string) (*database.ThreatRecord, error)
- func (om *OptimizationManager) Start() error
- func (om *OptimizationManager) Stop() error
- func (om *OptimizationManager) UpdateConfiguration(config *PerformanceConfig) error
- type OptimizationMetrics
- type OptimizationRecommendation
- type OptimizationReport
- type OptimizationRule
- type OptimizationStats
- type OptimizationSuggestion
- type OverallMetrics
- type OverallPerformanceMetrics
- type OverallStats
- type PerformanceBottleneck
- type PerformanceConfig
- func ConfigFromEnvironment(env string) *PerformanceConfig
- func DefaultOptimizationConfig() *PerformanceConfig
- func DevelopmentOptimizationConfig() *PerformanceConfig
- func GetRecommendedConfig() *PerformanceConfig
- func GetRecommendedConfiguration() *PerformanceConfig
- func OptimizeConfigForWorkload(config *PerformanceConfig, workload WorkloadProfile) *PerformanceConfig
- func ProductionOptimizationConfig() *PerformanceConfig
- func TestOptimizationConfig() *PerformanceConfig
- type PerformanceMetrics
- type PerformanceOptimizer
- func (po *PerformanceOptimizer) BatchThreatLookup(packages []types.Package) ([]*database.ThreatRecord, error)
- func (po *PerformanceOptimizer) GetBottlenecks() []*Bottleneck
- func (po *PerformanceOptimizer) GetOptimizationSuggestions() []*OptimizationSuggestion
- func (po *PerformanceOptimizer) GetPerformanceMetrics() *PerformanceMetrics
- func (po *PerformanceOptimizer) GetResourceAlerts() []*ResourceAlert
- func (po *PerformanceOptimizer) OptimizedThreatLookup(packageName, registry string) (*database.ThreatRecord, error)
- func (po *PerformanceOptimizer) Shutdown() error
- type PerformanceProfile
- type PerformanceProfiler
- type PerformanceStatistics
- type PerformanceStats
- type ProfilingConfig
- type QueryAnalyzer
- type QueryCache
- type QueryStats
- type RateLimiter
- type RequestLimiter
- type Resource
- type ResourceAlert
- type ResourceMetrics
- type ResourceMonitor
- type ResourceStats
- type ResourceThresholds
- type SamplingConfig
- type ScheduledRule
- type SlowQuery
- type Task
- type TaskResult
- type WarmingConfig
- type WarmingRule
- type WarmingSchedule
- type Worker
- type WorkerMetrics
- type WorkerPool
- type WorkerPoolMetrics
- type WorkloadProfile
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExampleAdvancedOptimization ¶
func ExampleAdvancedOptimization()
ExampleAdvancedOptimization demonstrates advanced optimization features
func ExampleBasicOptimization ¶
func ExampleBasicOptimization()
ExampleBasicOptimization demonstrates basic optimization setup and usage
func ExampleBatchOptimization ¶
func ExampleBatchOptimization()
ExampleBatchOptimization demonstrates batch processing optimization
func ExampleConfigurationManagement ¶
func ExampleConfigurationManagement()
ExampleConfigurationManagement demonstrates configuration management
func ExampleHealthMonitoring ¶
func ExampleHealthMonitoring()
ExampleHealthMonitoring demonstrates health monitoring and alerting
func ExamplePerformanceBenchmarking ¶
func ExamplePerformanceBenchmarking()
ExamplePerformanceBenchmarking demonstrates performance benchmarking
func ValidateConfig ¶
func ValidateConfig(config *PerformanceConfig) error
ValidateConfig validates the optimization configuration
Types ¶
type AnalysisConfig ¶
type AnalysisConfig struct {
Enabled bool
AnalysisInterval time.Duration
RetentionPeriod time.Duration
Recommendations bool
}
AnalysisConfig configures cache analysis
type AnalysisRule ¶
type AnalysisRule struct {
Name string
Condition func(*CacheMetrics) bool
Action func(*CacheManager) error
Enabled bool
}
AnalysisRule defines rules for cache analysis
type AppliedOptimization ¶
type AppliedOptimization struct {
Rule string
Applied time.Time
Impact *OptimizationImpact
Reverted bool
RevertTime time.Time
}
AppliedOptimization tracks applied optimizations
type BatchOperation ¶
type BatchOperation struct {
Type string // INSERT, UPDATE, DELETE
Table string
Data interface{}
Callback func(error)
Timestamp time.Time
}
BatchOperation represents a database operation to be batched
type BatchProcessor ¶
type BatchProcessor struct {
// contains filtered or unexported fields
}
BatchProcessor handles batch database operations for improved performance
func (*BatchProcessor) AddOperation ¶
func (bp *BatchProcessor) AddOperation(op BatchOperation)
Batch processor methods
type Bottleneck ¶
type Bottleneck struct {
Type string
Location string
Description string
Impact string
Severity int
Detected time.Time
Resolved bool
}
Bottleneck represents a performance bottleneck
type CacheAnalyzer ¶
type CacheAnalyzer struct {
// contains filtered or unexported fields
}
CacheAnalyzer analyzes cache performance and provides insights
type CacheConfig ¶
type CacheConfig struct {
L1Config *L1Config
L2Config *L2Config
L3Config *L3Config
Warming *WarmingConfig
Analysis *AnalysisConfig
}
CacheConfig contains cache configuration
func DefaultCacheConfig ¶
func DefaultCacheConfig() *CacheConfig
DefaultCacheConfig returns default cache configuration
type CacheEntry ¶
type CacheEntry struct {
Key string
Value interface{}
Timestamp time.Time
TTL time.Duration
AccessCount int64
LastAccess time.Time
Size int64
Tags []string
Priority CachePriority
}
CacheEntry represents a cached item with metadata
type CacheManager ¶
type CacheManager struct {
// contains filtered or unexported fields
}
CacheManager provides comprehensive caching strategies
func NewCacheManager ¶
func NewCacheManager(config *CacheConfig, db *database.ThreatDB) *CacheManager
NewCacheManager creates a new comprehensive cache manager
func (*CacheManager) Delete ¶
func (cm *CacheManager) Delete(key string)
Delete removes a value from all cache layers
func (*CacheManager) Get ¶
func (cm *CacheManager) Get(key string) (interface{}, bool)
Get retrieves a value from the cache hierarchy
func (*CacheManager) GetMetrics ¶
func (cm *CacheManager) GetMetrics() *CacheMetrics
Public API methods
func (*CacheManager) GetPerformanceLog ¶
func (cm *CacheManager) GetPerformanceLog() []*CacheOperation
func (*CacheManager) GetRecommendations ¶
func (cm *CacheManager) GetRecommendations() []*CacheRecommendation
func (*CacheManager) InvalidateByTags ¶
func (cm *CacheManager) InvalidateByTags(tags []string)
InvalidateByTags removes all entries with specified tags
func (*CacheManager) Set ¶
func (cm *CacheManager) Set(key string, value interface{}, ttl time.Duration, priority CachePriority)
Set stores a value in the cache hierarchy
func (*CacheManager) Shutdown ¶
func (cm *CacheManager) Shutdown() error
Shutdown gracefully shuts down the cache manager
type CacheMetrics ¶
type CacheMetrics struct {
L1Metrics *LayerMetrics
L2Metrics *LayerMetrics
L3Metrics *LayerMetrics
Overall *OverallMetrics
// contains filtered or unexported fields
}
CacheMetrics tracks cache performance
type CacheOperation ¶
type CacheOperation struct {
Type string // GET, SET, DELETE, EVICT
Key string
Layer string // L1, L2, L3
Timestamp time.Time
Duration time.Duration
Hit bool
Size int64
}
CacheOperation represents a cache operation for analysis
type CachePriority ¶
type CachePriority int
CachePriority defines cache entry priority levels
const ( PriorityLow CachePriority = iota PriorityNormal PriorityHigh PriorityCritical )
type CacheRecommendation ¶
type CacheRecommendation struct {
Type string
Description string
Impact string
Action string
Timestamp time.Time
}
CacheRecommendation provides optimization suggestions
type CacheStats ¶
type CacheStats struct {
L1HitRatio float64 `json:"l1_hit_ratio"`
L2HitRatio float64 `json:"l2_hit_ratio"`
L3HitRatio float64 `json:"l3_hit_ratio"`
OverallHitRatio float64 `json:"overall_hit_ratio"`
MemoryUsage int64 `json:"memory_usage"`
EntryCount int64 `json:"entry_count"`
Evictions int64 `json:"evictions"`
}
CacheStats contains cache performance statistics
type CacheWarmer ¶
type CacheWarmer struct {
// contains filtered or unexported fields
}
CacheWarmer proactively warms cache with frequently accessed data
type CachedQuery ¶
CachedQuery represents a cached database query result
type ConcurrencyConfig ¶
type ConcurrencyConfig struct {
MaxWorkers int
WorkerPoolSize int
QueueSize int
RateLimit int
BatchSize int
LoadBalancing bool
Adaptive bool
}
ConcurrencyConfig configures concurrency optimization
func DefaultConcurrencyConfig ¶
func DefaultConcurrencyConfig() *ConcurrencyConfig
DefaultConcurrencyConfig returns default concurrency settings
type ConcurrencyManager ¶
type ConcurrencyManager struct {
// contains filtered or unexported fields
}
ConcurrencyManager optimizes concurrent operations
type ConcurrencyMetrics ¶
type ConcurrencyMetrics struct {
ActiveWorkers int
QueuedTasks int
CompletedTasks int64
FailedTasks int64
AvgTaskDuration time.Duration
Throughput float64
LastUpdated time.Time
}
ConcurrencyMetrics tracks concurrency performance
type DatabaseOptimizer ¶
type DatabaseOptimizer struct {
// contains filtered or unexported fields
}
DatabaseOptimizer provides advanced database optimization features
func NewDatabaseOptimizer ¶
func NewDatabaseOptimizer(db *database.ThreatDB, config *OptimizationConfig) *DatabaseOptimizer
NewDatabaseOptimizer creates a new database optimizer
func (*DatabaseOptimizer) BatchAddThreats ¶
func (do *DatabaseOptimizer) BatchAddThreats(threats []*database.ThreatRecord) error
BatchAddThreats adds multiple threats efficiently using batch processing
func (*DatabaseOptimizer) GetOptimizationMetrics ¶
func (do *DatabaseOptimizer) GetOptimizationMetrics() *OptimizationMetrics
GetOptimizationMetrics returns current optimization metrics
func (*DatabaseOptimizer) GetSlowQueries ¶
func (do *DatabaseOptimizer) GetSlowQueries() []*SlowQuery
GetSlowQueries returns queries that exceed performance thresholds
func (*DatabaseOptimizer) OptimizedGetThreat ¶
func (do *DatabaseOptimizer) OptimizedGetThreat(packageName, registry string) (*database.ThreatRecord, error)
OptimizedGetThreat retrieves threat with caching and optimization
func (*DatabaseOptimizer) OptimizedGetThreats ¶
func (do *DatabaseOptimizer) OptimizedGetThreats(registry, threatType string, limit int) ([]*database.ThreatRecord, error)
OptimizedGetThreats retrieves threats with advanced filtering and caching
func (*DatabaseOptimizer) Shutdown ¶
func (do *DatabaseOptimizer) Shutdown() error
Shutdown gracefully shuts down the optimizer
type DatabaseStats ¶
type DatabaseStats struct {
QueryCount int64 `json:"query_count"`
SlowQueries int64 `json:"slow_queries"`
CacheHitRatio float64 `json:"cache_hit_ratio"`
AvgQueryTime time.Duration `json:"avg_query_time"`
BatchEfficiency float64 `json:"batch_efficiency"`
OptimizedQueries int64 `json:"optimized_queries"`
}
DatabaseStats contains database optimization statistics
type GCStats ¶
type GCStats struct {
NumGC uint32
PauseTotal time.Duration
LastGC time.Time
HeapSize uint64
HeapInUse uint64
StackInUse uint64
NextGC uint64
}
GCStats tracks garbage collection statistics
type IndexInfo ¶
type IndexInfo struct {
Name string
Table string
Columns []string
UsageCount int64
CreatedAt time.Time
LastUsed time.Time
Efficiency float64
}
IndexInfo contains information about database indexes
type IndexManager ¶
type IndexManager struct {
// contains filtered or unexported fields
}
IndexManager optimizes database indexes based on query patterns
func (*IndexManager) RecordQueryPattern ¶
func (im *IndexManager) RecordQueryPattern(query string)
Index manager methods
type L1Cache ¶
type L1Cache struct {
// contains filtered or unexported fields
}
L1Cache represents the fastest in-memory cache layer
type L1Config ¶
type L1Config struct {
MaxSize int
MaxMemory int64
DefaultTTL time.Duration
EvictionPolicy string // LRU, LFU, FIFO
}
L1Config configures in-memory cache
type L2Cache ¶
type L2Cache struct {
// contains filtered or unexported fields
}
L2Cache represents file-based persistent cache
type L2Config ¶
type L2Config struct {
CacheDir string
MaxSize int64
DefaultTTL time.Duration
Compression bool
Encryption bool
}
L2Config configures file-based cache
type L3Cache ¶
type L3Cache struct {
// contains filtered or unexported fields
}
L3Cache represents distributed Redis cache
type L3Config ¶
type L3Config struct {
Enabled bool
RedisURL string
DefaultTTL time.Duration
MaxRetries int
RetryDelay time.Duration
}
L3Config configures Redis cache
type LayerMetrics ¶
type LayerMetrics struct {
Hits int64
Misses int64
Sets int64
Deletes int64
Evictions int64
HitRatio float64
AvgLatency time.Duration
MemoryUsage int64
EntryCount int64
LastUpdated time.Time
}
LayerMetrics tracks metrics for a specific cache layer
type LoadBalancer ¶
type LoadBalancer struct {
// contains filtered or unexported fields
}
LoadBalancer distributes load across multiple resources
type LoadBalancerMetrics ¶
type LoadBalancerMetrics struct {
RequestsDistributed int64
ActiveResources int
AvgLatency time.Duration
LoadDistribution map[string]float64
}
LoadBalancerMetrics tracks load balancer performance
type LoadBalancingStrategy ¶
type LoadBalancingStrategy int
LoadBalancingStrategy defines load balancing strategies
const ( RoundRobin LoadBalancingStrategy = iota WeightedRoundRobin LeastConnections LeastLatency ResourceBased )
type MonitoringConfig ¶
type MonitoringConfig struct {
Enabled bool
MonitoringInterval time.Duration
AlertThresholds *ResourceThresholds
MetricsRetention time.Duration
}
MonitoringConfig configures performance monitoring
func DefaultMonitoringConfig ¶
func DefaultMonitoringConfig() *MonitoringConfig
DefaultMonitoringConfig returns default monitoring settings
type OptimizationAlert ¶
type OptimizationAlert struct {
ID string `json:"id"`
Type string `json:"type"`
Severity string `json:"severity"`
Message string `json:"message"`
Value float64 `json:"value"`
Threshold float64 `json:"threshold"`
Triggered time.Time `json:"triggered"`
Resolved bool `json:"resolved"`
}
OptimizationAlert represents performance alerts
type OptimizationConfig ¶
type OptimizationConfig struct {
CacheTTL time.Duration
CacheMaxSize int
BatchSize int
FlushInterval time.Duration
SlowQueryThreshold time.Duration
IndexOptimization bool
ConnectionPoolSize int
QueryTimeout time.Duration
}
OptimizationConfig contains configuration for database optimization
func DefaultDatabaseOptimizationConfig ¶
func DefaultDatabaseOptimizationConfig() *OptimizationConfig
DefaultDatabaseOptimizationConfig returns default database optimization settings
type OptimizationEngine ¶
type OptimizationEngine struct {
// contains filtered or unexported fields
}
OptimizationEngine automatically applies performance optimizations
type OptimizationEngineConfig ¶
type OptimizationEngineConfig struct {
Enabled bool
AutoOptimize bool
OptimizationInterval time.Duration
SafetyMode bool
RevertOnFailure bool
}
OptimizationEngineConfig configures the optimization engine
func DefaultOptimizationEngineConfig ¶
func DefaultOptimizationEngineConfig() *OptimizationEngineConfig
DefaultOptimizationEngineConfig returns default optimization engine settings
type OptimizationImpact ¶
type OptimizationImpact struct {
LatencyImprovement time.Duration
ThroughputImprovement float64
MemoryReduction int64
CPUReduction float64
ErrorRateReduction float64
}
OptimizationImpact measures the impact of an optimization
type OptimizationImprovement ¶
type OptimizationImprovement struct {
ID string `json:"id"`
Type string `json:"type"`
Description string `json:"description"`
Applied time.Time `json:"applied"`
LatencyGain time.Duration `json:"latency_gain"`
ThroughputGain float64 `json:"throughput_gain"`
MemoryReduction int64 `json:"memory_reduction"`
EfficiencyGain float64 `json:"efficiency_gain"`
}
OptimizationImprovement tracks applied optimizations
type OptimizationManager ¶
type OptimizationManager struct {
// contains filtered or unexported fields
}
OptimizationManager provides a unified interface for all optimization features
func DevelopmentOptimizationSetup ¶
func DevelopmentOptimizationSetup(db *database.ThreatDB) (*OptimizationManager, error)
DevelopmentOptimizationSetup sets up optimization for development
func NewOptimizationManager ¶
func NewOptimizationManager(db *database.ThreatDB, environment string) (*OptimizationManager, error)
NewOptimizationManager creates a new optimization manager
func QuickOptimizationSetup ¶
func QuickOptimizationSetup(db *database.ThreatDB) (*OptimizationManager, error)
QuickOptimizationSetup sets up optimization with sensible defaults
func TestOptimizationSetup ¶
func TestOptimizationSetup(db *database.ThreatDB) (*OptimizationManager, error)
TestOptimizationSetup sets up optimization for testing
func (*OptimizationManager) ApplyOptimizationRecommendation ¶
func (om *OptimizationManager) ApplyOptimizationRecommendation(recommendationID string) error
ApplyOptimizationRecommendation applies a specific optimization recommendation
func (*OptimizationManager) BatchOptimizedThreatLookup ¶
func (om *OptimizationManager) BatchOptimizedThreatLookup(packages []types.Package) ([]*database.ThreatRecord, error)
BatchOptimizedThreatLookup performs batch optimized threat lookups
func (*OptimizationManager) GenerateOptimizationReport ¶
func (om *OptimizationManager) GenerateOptimizationReport() *OptimizationReport
GenerateOptimizationReport creates a comprehensive optimization report
func (*OptimizationManager) GetConfiguration ¶
func (om *OptimizationManager) GetConfiguration() *PerformanceConfig
GetConfiguration returns the current optimization configuration
func (*OptimizationManager) GetOptimizationStats ¶
func (om *OptimizationManager) GetOptimizationStats() *OptimizationStats
GetOptimizationStats returns current optimization statistics
func (*OptimizationManager) IsRunning ¶
func (om *OptimizationManager) IsRunning() bool
IsRunning returns whether the optimization manager is currently running
func (*OptimizationManager) OptimizationHealthCheck ¶
func (om *OptimizationManager) OptimizationHealthCheck() map[string]string
OptimizationHealthCheck performs a health check on optimization components
func (*OptimizationManager) OptimizedThreatLookup ¶
func (om *OptimizationManager) OptimizedThreatLookup(packageName, registry string) (*database.ThreatRecord, error)
OptimizedThreatLookup performs an optimized threat lookup
func (*OptimizationManager) Start ¶
func (om *OptimizationManager) Start() error
Start begins the optimization processes
func (*OptimizationManager) Stop ¶
func (om *OptimizationManager) Stop() error
Stop gracefully stops the optimization processes
func (*OptimizationManager) UpdateConfiguration ¶
func (om *OptimizationManager) UpdateConfiguration(config *PerformanceConfig) error
UpdateConfiguration updates the optimization configuration
type OptimizationMetrics ¶
type OptimizationMetrics struct {
CacheHitRatio float64
AvgQueryTime time.Duration
BatchEfficiency float64
IndexUtilization float64
OptimizedQueries int64
// contains filtered or unexported fields
}
OptimizationMetrics tracks optimization performance
type OptimizationRecommendation ¶
type OptimizationRecommendation struct {
ID string `json:"id"`
Type string `json:"type"`
Title string `json:"title"`
Description string `json:"description"`
Priority string `json:"priority"`
Impact string `json:"impact"`
Complexity string `json:"complexity"`
Action string `json:"action"`
Created time.Time `json:"created"`
}
OptimizationRecommendation provides specific optimization suggestions
type OptimizationReport ¶
type OptimizationReport struct {
Stats *OptimizationStats `json:"stats"`
Recommendations []*OptimizationRecommendation `json:"recommendations"`
Alerts []*OptimizationAlert `json:"alerts"`
Bottlenecks []*PerformanceBottleneck `json:"bottlenecks"`
Improvements []*OptimizationImprovement `json:"improvements"`
GeneratedAt time.Time `json:"generated_at"`
}
OptimizationReport provides detailed optimization analysis
type OptimizationRule ¶
type OptimizationRule struct {
Name string
Condition func(*PerformanceMetrics) bool
Action func(*PerformanceOptimizer) error
Enabled bool
Priority int
Cooldown time.Duration
LastApplied time.Time
}
OptimizationRule defines conditions and actions for optimization
type OptimizationStats ¶
type OptimizationStats struct {
Database *DatabaseStats `json:"database"`
Cache *CacheStats `json:"cache"`
Performance *PerformanceStats `json:"performance"`
Resource *ResourceStats `json:"resource"`
Overall *OverallStats `json:"overall"`
Timestamp time.Time `json:"timestamp"`
}
OptimizationStats provides comprehensive optimization statistics
type OptimizationSuggestion ¶
type OptimizationSuggestion struct {
Type string
Description string
ExpectedGain string
Complexity string
Priority int
Created time.Time
Implemented bool
}
OptimizationSuggestion provides performance optimization suggestions
type OverallMetrics ¶
type OverallMetrics struct {
TotalHits int64
TotalMisses int64
OverallHitRatio float64
AvgLatency time.Duration
TotalMemory int64
Efficiency float64
LastUpdated time.Time
}
OverallMetrics tracks overall cache performance
type OverallPerformanceMetrics ¶
type OverallPerformanceMetrics struct {
Latency time.Duration
Throughput float64
ErrorRate float64
Availability float64
Efficiency float64
OptimizationScore float64
LastUpdated time.Time
}
OverallPerformanceMetrics tracks overall system performance
type OverallStats ¶
type OverallStats struct {
EfficiencyScore float64 `json:"efficiency_score"`
OptimizationLevel string `json:"optimization_level"`
Recommendations int `json:"recommendations"`
ActiveAlerts int `json:"active_alerts"`
Uptime time.Duration `json:"uptime"`
}
OverallStats contains overall optimization statistics
type PerformanceBottleneck ¶
type PerformanceBottleneck struct {
ID string `json:"id"`
Component string `json:"component"`
Description string `json:"description"`
Impact string `json:"impact"`
Suggestion string `json:"suggestion"`
Detected time.Time `json:"detected"`
}
PerformanceBottleneck identifies performance bottlenecks
type PerformanceConfig ¶
type PerformanceConfig struct {
Database *OptimizationConfig
Cache *CacheConfig
Concurrency *ConcurrencyConfig
Profiling *ProfilingConfig
Optimization *OptimizationEngineConfig
Monitoring *MonitoringConfig
}
PerformanceConfig contains performance optimization configuration
func ConfigFromEnvironment ¶
func ConfigFromEnvironment(env string) *PerformanceConfig
ConfigFromEnvironment creates configuration based on environment variables
func DefaultOptimizationConfig ¶
func DefaultOptimizationConfig() *PerformanceConfig
DefaultOptimizationConfig returns a production-ready optimization configuration
func DevelopmentOptimizationConfig ¶
func DevelopmentOptimizationConfig() *PerformanceConfig
DevelopmentOptimizationConfig returns settings optimized for development
func GetRecommendedConfig ¶
func GetRecommendedConfig() *PerformanceConfig
GetRecommendedConfig returns a recommended configuration based on system resources
func GetRecommendedConfiguration ¶
func GetRecommendedConfiguration() *PerformanceConfig
GetRecommendedConfiguration returns a system-optimized configuration
func OptimizeConfigForWorkload ¶
func OptimizeConfigForWorkload(config *PerformanceConfig, workload WorkloadProfile) *PerformanceConfig
OptimizeConfigForWorkload adjusts configuration based on expected workload
func ProductionOptimizationConfig ¶
func ProductionOptimizationConfig() *PerformanceConfig
ProductionOptimizationConfig returns optimized settings for production
func TestOptimizationConfig ¶
func TestOptimizationConfig() *PerformanceConfig
TestOptimizationConfig returns settings optimized for testing
type PerformanceMetrics ¶
type PerformanceMetrics struct {
Database *OptimizationMetrics
Cache *CacheMetrics
Resource *ResourceMetrics
Concurrency *ConcurrencyMetrics
Overall *OverallPerformanceMetrics
// contains filtered or unexported fields
}
PerformanceMetrics tracks overall performance metrics
type PerformanceOptimizer ¶
type PerformanceOptimizer struct {
// contains filtered or unexported fields
}
PerformanceOptimizer provides comprehensive performance optimization
func NewPerformanceOptimizer ¶
func NewPerformanceOptimizer(config *PerformanceConfig, db *database.ThreatDB) *PerformanceOptimizer
NewPerformanceOptimizer creates a new performance optimizer
func (*PerformanceOptimizer) BatchThreatLookup ¶
func (po *PerformanceOptimizer) BatchThreatLookup(packages []types.Package) ([]*database.ThreatRecord, error)
BatchThreatLookup performs batch threat lookups with optimized concurrency
func (*PerformanceOptimizer) GetBottlenecks ¶
func (po *PerformanceOptimizer) GetBottlenecks() []*Bottleneck
func (*PerformanceOptimizer) GetOptimizationSuggestions ¶
func (po *PerformanceOptimizer) GetOptimizationSuggestions() []*OptimizationSuggestion
func (*PerformanceOptimizer) GetPerformanceMetrics ¶
func (po *PerformanceOptimizer) GetPerformanceMetrics() *PerformanceMetrics
Public API methods
func (*PerformanceOptimizer) GetResourceAlerts ¶
func (po *PerformanceOptimizer) GetResourceAlerts() []*ResourceAlert
func (*PerformanceOptimizer) OptimizedThreatLookup ¶
func (po *PerformanceOptimizer) OptimizedThreatLookup(packageName, registry string) (*database.ThreatRecord, error)
OptimizedThreatLookup performs optimized threat lookup with caching and batching
func (*PerformanceOptimizer) Shutdown ¶
func (po *PerformanceOptimizer) Shutdown() error
Shutdown gracefully shuts down the performance optimizer
type PerformanceProfile ¶
type PerformanceProfile struct {
Name string
ExecutionTimes []time.Duration
MemoryUsage []int64
CPUUsage []float64
Throughput float64
Latency PerformanceStatistics
ErrorRate float64
LastUpdated time.Time
}
PerformanceProfile contains performance data for a specific operation
type PerformanceProfiler ¶
type PerformanceProfiler struct {
// contains filtered or unexported fields
}
PerformanceProfiler profiles application performance
type PerformanceStatistics ¶
type PerformanceStatistics struct {
Min time.Duration
Max time.Duration
Mean time.Duration
Median time.Duration
P95 time.Duration
P99 time.Duration
}
PerformanceStatistics contains statistical performance data
type PerformanceStats ¶
type PerformanceStats struct {
Throughput float64 `json:"throughput"`
Latency time.Duration `json:"latency"`
ErrorRate float64 `json:"error_rate"`
ConcurrentTasks int `json:"concurrent_tasks"`
CompletedTasks int64 `json:"completed_tasks"`
OptimizationScore float64 `json:"optimization_score"`
}
PerformanceStats contains performance optimization statistics
type ProfilingConfig ¶
type ProfilingConfig struct {
Enabled bool
SamplingRate float64
ProfileInterval time.Duration
RetentionPeriod time.Duration
BottleneckDetection bool
}
ProfilingConfig configures performance profiling
func DefaultProfilingConfig ¶
func DefaultProfilingConfig() *ProfilingConfig
DefaultProfilingConfig returns default profiling settings
type QueryAnalyzer ¶
type QueryAnalyzer struct {
// contains filtered or unexported fields
}
QueryAnalyzer analyzes query performance and suggests optimizations
func (*QueryAnalyzer) RecordQuery ¶
func (qa *QueryAnalyzer) RecordQuery(queryType string, duration time.Duration)
Query analyzer methods
type QueryCache ¶
type QueryCache struct {
// contains filtered or unexported fields
}
QueryCache implements intelligent query result caching
func (*QueryCache) Set ¶
func (qc *QueryCache) Set(key string, result interface{})
type QueryStats ¶
type QueryStats struct {
Query string
ExecutionTime time.Duration
Count int64
AvgTime time.Duration
MaxTime time.Duration
MinTime time.Duration
LastExecuted time.Time
}
QueryStats tracks performance statistics for database queries
type RateLimiter ¶
type RateLimiter struct {
// contains filtered or unexported fields
}
RateLimiter implements token bucket rate limiting
type RequestLimiter ¶
type RequestLimiter struct {
// contains filtered or unexported fields
}
RequestLimiter implements rate limiting and throttling
type Resource ¶
type Resource struct {
ID string
Weight int
Active bool
Load int
Capacity int
Latency time.Duration
}
Resource represents a resource that can handle requests
type ResourceAlert ¶
type ResourceAlert struct {
Type string
Message string
Severity string
Timestamp time.Time
Value interface{}
Threshold interface{}
Resolved bool
}
ResourceAlert represents a resource usage alert
type ResourceMetrics ¶
type ResourceMetrics struct {
CPUUsage float64
MemoryUsage int64
GoroutineCount int
GCMetrics *GCStats
LastUpdated time.Time
}
ResourceMetrics tracks resource usage metrics
type ResourceMonitor ¶
type ResourceMonitor struct {
// contains filtered or unexported fields
}
ResourceMonitor tracks system resource usage
type ResourceStats ¶
type ResourceStats struct {
CPUUsage float64 `json:"cpu_usage"`
MemoryUsage int64 `json:"memory_usage"`
GoroutineCount int `json:"goroutine_count"`
GCPauses int64 `json:"gc_pauses"`
HeapSize uint64 `json:"heap_size"`
}
ResourceStats contains resource usage statistics
type ResourceThresholds ¶
type ResourceThresholds struct {
MaxCPUUsage float64
MaxMemoryUsage int64
MaxGoroutines int
MaxGCPause time.Duration
MaxHeapSize uint64
}
ResourceThresholds defines resource usage thresholds
func DefaultResourceThresholds ¶
func DefaultResourceThresholds() *ResourceThresholds
DefaultResourceThresholds returns default resource usage thresholds
type SamplingConfig ¶
type SamplingConfig struct {
Enabled bool
SampleRate float64
MaxSamples int
RetentionPeriod time.Duration
}
SamplingConfig configures performance sampling
type ScheduledRule ¶
type ScheduledRule struct {
Rule *WarmingRule
NextRun time.Time
Interval time.Duration
Enabled bool
}
ScheduledRule represents a scheduled cache warming rule
type SlowQuery ¶
type SlowQuery struct {
Query string
ExecutionTime time.Duration
Timestamp time.Time
Optimization string
}
SlowQuery represents a query that exceeds performance thresholds
type Task ¶
type Task struct {
ID string
Type string
Data interface{}
Callback func(TaskResult)
Priority int
Timeout time.Duration
Created time.Time
}
Task represents a task to be executed by workers
type TaskResult ¶
type TaskResult struct {
TaskID string
Result interface{}
Error error
Duration time.Duration
WorkerID int
Completed time.Time
}
TaskResult represents the result of a task execution
type WarmingConfig ¶
type WarmingConfig struct {
Enabled bool
WarmingInterval time.Duration
MaxConcurrency int
PredictiveMode bool
}
WarmingConfig configures cache warming
type WarmingRule ¶
type WarmingRule struct {
Name string
Condition func() bool
DataLoader func() (interface{}, error)
CacheKey string
Priority CachePriority
TTL time.Duration
Schedule string // Cron-like schedule
Enabled bool
}
WarmingRule defines conditions for cache warming
type WarmingSchedule ¶
type WarmingSchedule struct {
// contains filtered or unexported fields
}
WarmingSchedule manages cache warming schedules
type Worker ¶
type Worker struct {
// contains filtered or unexported fields
}
Worker represents a worker in the pool
type WorkerMetrics ¶
type WorkerMetrics struct {
TasksProcessed int64
TasksFailed int64
AvgProcessTime time.Duration
LastActive time.Time
Utilization float64
}
WorkerMetrics tracks individual worker performance
type WorkerPool ¶
type WorkerPool struct {
// contains filtered or unexported fields
}
WorkerPool manages a pool of workers for specific tasks
type WorkerPoolMetrics ¶
type WorkerPoolMetrics struct {
ActiveWorkers int
IdleWorkers int
QueueLength int
TasksProcessed int64
TasksFailed int64
AvgProcessTime time.Duration
Throughput float64
}
WorkerPoolMetrics tracks worker pool performance
type WorkloadProfile ¶
type WorkloadProfile struct {
Type string // high_throughput, low_latency, memory_constrained, cpu_intensive, io_intensive
ExpectedRPS int // Expected requests per second
ExpectedConcurrency int // Expected concurrent operations
MemoryBudget int64 // Available memory budget
CPUCores int // Available CPU cores
StorageType string // SSD, HDD, Network
}
WorkloadProfile describes the expected workload characteristics