Module: Legion::LLM::Discovery::System
- Extended by:
- Legion::Logging::Helper
- Defined in:
- lib/legion/llm/discovery/system.rb
Class Method Summary collapse
- .available_memory_mb ⇒ Object
- .memory_pressure? ⇒ Boolean
- .platform ⇒ Object
- .refresh! ⇒ Object
- .reset! ⇒ Object
- .stale? ⇒ Boolean
- .total_memory_mb ⇒ Object
Class Method Details
.available_memory_mb ⇒ Object
16 17 18 19 |
# File 'lib/legion/llm/discovery/system.rb', line 16 def available_memory_mb ensure_available_fresh @available_memory_mb end |
.memory_pressure? ⇒ Boolean
21 22 23 24 25 26 27 |
# File 'lib/legion/llm/discovery/system.rb', line 21 def memory_pressure? avail = available_memory_mb return false if avail.nil? floor = discovery_settings[:memory_floor_mb] || 2048 avail < floor end |
.platform ⇒ Object
29 30 31 |
# File 'lib/legion/llm/discovery/system.rb', line 29 def platform @platform ||= detect_platform end |
.refresh! ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/legion/llm/discovery/system.rb', line 33 def refresh! @total_fetched_at = nil @available_fetched_at = nil @total_memory_mb = nil @available_memory_mb = nil @last_refreshed_at = Time.now end |
.reset! ⇒ Object
41 42 43 44 45 46 47 48 |
# File 'lib/legion/llm/discovery/system.rb', line 41 def reset! @total_memory_mb = nil @available_memory_mb = nil @total_fetched_at = nil @available_fetched_at = nil @last_refreshed_at = nil @platform = nil end |
.stale? ⇒ Boolean
50 51 52 53 54 55 |
# File 'lib/legion/llm/discovery/system.rb', line 50 def stale? return true if @last_refreshed_at.nil? ttl = discovery_settings[:refresh_seconds] || 60 Time.now - @last_refreshed_at > ttl end |
.total_memory_mb ⇒ Object
11 12 13 14 |
# File 'lib/legion/llm/discovery/system.rb', line 11 def total_memory_mb ensure_total_fresh @total_memory_mb end |