Module: Legion::Extensions::Llm::Vllm::Runners::DiscoveryRefresh::HealthDisplay

Included in:
Legion::Extensions::Llm::Vllm::Runners::DiscoveryRefresh
Defined in:
lib/legion/extensions/llm/vllm/runners/discovery_refresh/health_display.rb

Overview

D14 display-only health + capabilities writes to settings, made AFTER each registry commit. Routing authority stays in the in-memory AvailabilityFact; this is visibility for the status API.

Instance Method Summary collapse

Instance Method Details

#clear_settings_health(name:) ⇒ Object



28
29
30
31
32
33
34
35
36
37
# File 'lib/legion/extensions/llm/vllm/runners/discovery_refresh/health_display.rb', line 28

def clear_settings_health(name:)
  instance_settings = settings.dig(:instances, name)
  return unless instance_settings.is_a?(Hash)

  instance_settings.delete(:health)
  instance_settings.delete(:capabilities)
rescue StandardError => e
  handle_exception(e, level: :warn, operation: 'vllm.runner.discovery.clear_health',
                      instance_name: name.to_s)
end

#union_capabilities(instance_key) ⇒ Object



39
40
41
42
43
44
45
46
47
48
# File 'lib/legion/extensions/llm/vllm/runners/discovery_refresh/health_display.rb', line 39

def union_capabilities(instance_key)
  snapshot = publisher.snapshot
  capabilities = Set.new
  snapshot.offerings_for(instance_key: instance_key).each do |offering|
    offering.capability_evidence.each do |capability, evidence|
      capabilities << capability if evidence.supported?
    end
  end
  capabilities.to_a.sort
end

#write_instance_health(state) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/legion/extensions/llm/vllm/runners/discovery_refresh/health_display.rb', line 13

def write_instance_health(state)
  instance_key = state[:instance_key]
  snapshot = publisher.snapshot
  display = display_fact(instance_key: instance_key, snapshot: snapshot)

  instance_settings = settings.dig(:instances, state[:name])
  return unless instance_settings.is_a?(Hash)

  instance_settings[:health] = health_hash(display)
  instance_settings[:capabilities] = union_capabilities(instance_key)
rescue StandardError => e
  handle_exception(e, level: :warn, operation: 'vllm.runner.discovery.write_health',
                      instance_id: state[:instance_key].instance_id)
end