class Facter::Resolvers::Bsd::Processors

Constants

CTL_HW
HW_CPUSPEED
HW_MODEL
HW_NCPU

Private Class Methods

collect_processors_info(fact_name) click to toggle source
# File lib/facter/resolvers/bsd/processors.rb, line 17
def collect_processors_info(fact_name)
  require 'facter/resolvers/bsd/ffi/ffi_helper'

  count = logical_count
  model = processor_model
  speed = processor_speed

  @fact_list[:logical_count] = count
  @fact_list[:models] = Array.new(count, model) if count && model
  @fact_list[:speed] = speed * 1000 * 1000 if speed

  @fact_list[fact_name]
end
logical_count() click to toggle source
# File lib/facter/resolvers/bsd/processors.rb, line 40
def logical_count
  Facter::Bsd::FfiHelper.sysctl(:uint32_t, [CTL_HW, HW_NCPU])
end
post_resolve(fact_name, _options) click to toggle source
# File lib/facter/resolvers/bsd/processors.rb, line 13
def post_resolve(fact_name, _options)
  @fact_list.fetch(fact_name) { collect_processors_info(fact_name) }
end
processor_model() click to toggle source
# File lib/facter/resolvers/bsd/processors.rb, line 36
def processor_model
  Facter::Bsd::FfiHelper.sysctl(:string, [CTL_HW, HW_MODEL])
end
processor_speed() click to toggle source
# File lib/facter/resolvers/bsd/processors.rb, line 44
def processor_speed
  Facter::Bsd::FfiHelper.sysctl(:uint32_t, [CTL_HW, HW_CPUSPEED])
end