class Facter::Resolvers::Linux::Lscpu

Constants

ITEMS

Private Class Methods

build_cores_per_socket(index) click to toggle source
# File lib/facter/resolvers/processors_lscpu.rb, line 37
def build_cores_per_socket(index)
  @fact_list[:cores_per_socket] = index.split(': ')[1].to_i
end
build_fact_list(processors_data) click to toggle source
# File lib/facter/resolvers/processors_lscpu.rb, line 28
def build_fact_list(processors_data)
  build_threads_per_core(processors_data[0])
  build_cores_per_socket(processors_data[1])
end
build_threads_per_core(index) click to toggle source
# File lib/facter/resolvers/processors_lscpu.rb, line 33
def build_threads_per_core(index)
  @fact_list[:threads_per_core] = index.split(': ')[1].to_i
end
post_resolve(fact_name, _options) click to toggle source

:cores_per_socket :threads_per_core

# File lib/facter/resolvers/processors_lscpu.rb, line 18
def post_resolve(fact_name, _options)
  @fact_list.fetch(fact_name) { read_cpuinfo(fact_name) }
end
read_cpuinfo(fact_name) click to toggle source
# File lib/facter/resolvers/processors_lscpu.rb, line 22
def read_cpuinfo(fact_name)
  lscpu_output = Facter::Core::Execution.execute("lscpu | grep #{ITEMS.values.join(' ')}", logger: log)
  build_fact_list(lscpu_output.split("\n"))
  @fact_list[fact_name]
end