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.16.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.15.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.14.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.13 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.12 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.11.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.10.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.9 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.8 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.7 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.16-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-scalyr-0.1.6 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.15-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-output-newrelic-1.2.0 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.14-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.13-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-filter-csharp-0.2.1 vendor/bundle/jruby/2.5.0/gems/logstash-core-5.6.4-java/lib/logstash/instrument/periodic_poller/load_average.rb
logstash-filter-csharp-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-core-6.8.12-java lib/logstash/instrument/periodic_poller/load_average.rb
logstash-core-6.8.11-java lib/logstash/instrument/periodic_poller/load_average.rb