Class: AiRootShield::Enterprise::PerformanceOptimizer
- Inherits:
-
Object
- Object
- AiRootShield::Enterprise::PerformanceOptimizer
- Includes:
- MonitorMixin
- Defined in:
- lib/ai_root_shield/enterprise/performance_optimizer.rb
Overview
Production-grade performance optimizer with memory management and false-positive reduction
Instance Attribute Summary collapse
-
#cache_stats ⇒ Object
readonly
Returns the value of attribute cache_stats.
-
#metrics ⇒ Object
readonly
Returns the value of attribute metrics.
-
#optimization_level ⇒ Object
readonly
Returns the value of attribute optimization_level.
Instance Method Summary collapse
-
#initialize(config = {}) ⇒ PerformanceOptimizer
constructor
A new instance of PerformanceOptimizer.
-
#optimize_analysis(analysis_data, options = {}) ⇒ Object
Optimize analysis performance.
-
#optimize_memory ⇒ Object
Optimize memory usage.
-
#performance_stats ⇒ Object
Get performance statistics.
-
#reduce_false_positives(analysis_result) ⇒ Object
Reduce false positives using ML algorithms.
-
#set_optimization_level(level) ⇒ Object
Set optimization level.
Constructor Details
#initialize(config = {}) ⇒ PerformanceOptimizer
Returns a new instance of PerformanceOptimizer.
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/ai_root_shield/enterprise/performance_optimizer.rb', line 15 def initialize(config = {}) super() @config = default_config.merge(config) @optimization_level = @config[:optimization_level] @metrics = init_metrics @cache_stats = init_cache_stats @false_positive_reducer = FalsePositiveReducer.new(@config[:false_positive]) @memory_manager = MemoryManager.new(@config[:memory]) @performance_monitor = PerformanceMonitor.new(@config[:monitoring]) start_optimization_engine if @config[:auto_optimize] end |
Instance Attribute Details
#cache_stats ⇒ Object (readonly)
Returns the value of attribute cache_stats.
13 14 15 |
# File 'lib/ai_root_shield/enterprise/performance_optimizer.rb', line 13 def cache_stats @cache_stats end |
#metrics ⇒ Object (readonly)
Returns the value of attribute metrics.
13 14 15 |
# File 'lib/ai_root_shield/enterprise/performance_optimizer.rb', line 13 def metrics @metrics end |
#optimization_level ⇒ Object (readonly)
Returns the value of attribute optimization_level.
13 14 15 |
# File 'lib/ai_root_shield/enterprise/performance_optimizer.rb', line 13 def optimization_level @optimization_level end |
Instance Method Details
#optimize_analysis(analysis_data, options = {}) ⇒ Object
Optimize analysis performance
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/ai_root_shield/enterprise/performance_optimizer.rb', line 29 def optimize_analysis(analysis_data, = {}) start_time = Time.now synchronize do # Pre-processing optimization optimized_data = preprocess_data(analysis_data) # Apply performance optimizations result = apply_optimizations(optimized_data, ) # Post-processing cleanup result = postprocess_result(result) # Update metrics update_performance_metrics(start_time, result) result end end |
#optimize_memory ⇒ Object
Optimize memory usage
55 56 57 58 59 60 61 62 63 64 |
# File 'lib/ai_root_shield/enterprise/performance_optimizer.rb', line 55 def optimize_memory @memory_manager.cleanup @memory_manager.optimize_caches { memory_freed: @memory_manager.last_cleanup_size, cache_hit_rate: @memory_manager.cache_hit_rate, memory_usage: @memory_manager.current_usage } end |
#performance_stats ⇒ Object
Get performance statistics
67 68 69 70 71 72 73 74 75 76 |
# File 'lib/ai_root_shield/enterprise/performance_optimizer.rb', line 67 def performance_stats { optimization_level: @optimization_level, metrics: @metrics, cache_stats: @cache_stats, memory_stats: @memory_manager.stats, false_positive_rate: @false_positive_reducer.current_rate, uptime_seconds: Time.now - @metrics[:start_time] } end |
#reduce_false_positives(analysis_result) ⇒ Object
Reduce false positives using ML algorithms
50 51 52 |
# File 'lib/ai_root_shield/enterprise/performance_optimizer.rb', line 50 def reduce_false_positives(analysis_result) @false_positive_reducer.process(analysis_result) end |
#set_optimization_level(level) ⇒ Object
Set optimization level
79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/ai_root_shield/enterprise/performance_optimizer.rb', line 79 def set_optimization_level(level) valid_levels = [:conservative, :balanced, :aggressive, :maximum] raise ArgumentError, "Invalid optimization level" unless valid_levels.include?(level) @optimization_level = level @config[:optimization_level] = level # Reconfigure components @false_positive_reducer.reconfigure(level) @memory_manager.reconfigure(level) log_optimization_event("Optimization level changed", { level: level }) end |