Sha256: fc952badf9553c94dcc1f0f21452564dc034c5e77fec0d3f597fa5a26ae65333

Contents?: true

Size: 1021 Bytes

Versions: 143

Compression:

Stored size: 1021 Bytes

Contents

# encoding: utf-8
java_import "java.lang.management.ManagementFactory"

module LogStash module Instrument module PeriodicPoller
  class LoadAverage
    class Windows
      def self.get
        nil
      end
    end

    class Linux
      LOAD_AVG_FILE = "/proc/loadavg"
      TOKEN_SEPARATOR = " "

      def self.get(content = ::File.read(LOAD_AVG_FILE))
        load_average = content.chomp.split(TOKEN_SEPARATOR)

        {
          :"1m" => load_average[0].to_f,
          :"5m" => load_average[1].to_f,
          :"15m" => load_average[2].to_f
        }
      end
    end

    class Other
      def self.get()
        load_average_1m = ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage()

        return nil if load_average_1m.nil?

        {
          :"1m" => load_average_1m
        }
      end
    end

    def self.create
      if LogStash::Environment.windows?
        Windows
      elsif LogStash::Environment.linux?
        Linux
      else
        Other
      end
    end
  end
end end end

Version data entries

143 entries across 143 versions & 7 rubygems

Version Path
logstash-core-6.8.23-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.22-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.21-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.20-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.2.1.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.19-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.2.0 vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.2.0.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.26.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.25.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.24.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.23.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.22.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.21.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.20.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.18-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.19.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.17-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.18.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.17.beta vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb