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-output-scalyr-0.1.5 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.4 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.3 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.10-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.2 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.9-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.8-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.7-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-7.5.2-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-7.5.1-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.6-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-7.5.0-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.5-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-7.4.2-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.4-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-7.4.1-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-7.4.0-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-7.3.2-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.3-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-7.3.1-java lib/logstash/instrument/periodic_poller/load_average.rb