Module: Legion::LLM::Discovery::System

Extended by:
Legion::Logging::Helper
Defined in:
lib/legion/llm/discovery/system.rb

Class Method Summary collapse

Class Method Details

.available_memory_mbObject



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

Returns:

  • (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

.platformObject



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

Returns:

  • (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_mbObject



11
12
13
14
# File 'lib/legion/llm/discovery/system.rb', line 11

def total_memory_mb
  ensure_total_fresh
  @total_memory_mb
end