Sha256: 380845bc7329b7af0144e16fa6bfdb8c19dd877c441df84905721912256fbc13

Contents?: true

Size: 575 Bytes

Versions: 12

Compression:

Stored size: 575 Bytes

Contents

# frozen_string_literal: true

require 'ffi'

module Facter
  module Resolvers
    module Utils
      module Ffi
        module LoadAverages
          extend ::FFI::Library
          ffi_lib ::FFI::Library::LIBC

          attach_function :getloadavg, %i[pointer int], :int

          def self.read_load_averages
            raw_loadavg = ::FFI::MemoryPointer.new(:double, 3)

            res = LoadAverages.getloadavg(raw_loadavg, 3)
            return unless res == 3

            raw_loadavg.read_array_of_double(res)
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
facter-4.0.46 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.44 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.43 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.42 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.41 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.40 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.39 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.38 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.37 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.36 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.35 lib/facter/resolvers/utils/ffi/load_averages.rb
facter-4.0.34 lib/facter/resolvers/utils/ffi/load_averages.rb