Sha256: 376c8f017df0eddfbb11eac6e7e99be5eeccfa832adf9733aad1c781a6df07a3

Contents?: true

Size: 655 Bytes

Versions: 35

Compression:

Stored size: 655 Bytes

Contents

module Bluepill
  module ProcessConditions
    class MemUsage < ProcessCondition
      MB = 1024 ** 2
      FORMAT_STR = "%d%s"
      MB_LABEL = "MB"
      KB_LABEL = "KB"
      
      def initialize(options = {})
        @below = options[:below]
      end
      
      def run(pid)
        # rss is on the 5th col
        System.memory_usage(pid).to_f
      end
      
      def check(value)
        value.kilobytes < @below
      end
      
      def format_value(value)
        if value.kilobytes >= MB
          FORMAT_STR % [(value / 1024).round, MB_LABEL]
        else
          FORMAT_STR % [value, KB_LABEL]
        end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 8 rubygems

Version Path
bluepill-0.0.46 lib/bluepill/process_conditions/mem_usage.rb
bluepill-0.0.45 lib/bluepill/process_conditions/mem_usage.rb
mwotton-bluepill-0.0.44 lib/bluepill/process_conditions/mem_usage.rb
ra-bluepill-0.0.48 lib/bluepill/process_conditions/mem_usage.rb
ra-bluepill-0.0.47 lib/bluepill/process_conditions/mem_usage.rb
ra-bluepill-0.0.46 lib/bluepill/process_conditions/mem_usage.rb
ra-bluepill-0.0.45 lib/bluepill/process_conditions/mem_usage.rb
ra-bluepill-0.0.44 lib/bluepill/process_conditions/mem_usage.rb
evented_bluepill-0.0.46 lib/bluepill/process_conditions/mem_usage.rb
bluepill-0.0.44 lib/bluepill/process_conditions/mem_usage.rb
sumskyi-bluepill-0.0.42.1 lib/bluepill/process_conditions/mem_usage.rb
sumskyi-bluepill-0.0.42.0 lib/bluepill/process_conditions/mem_usage.rb
bluepill-0.0.43 lib/bluepill/process_conditions/mem_usage.rb
bluepill-0.0.42 lib/bluepill/process_conditions/mem_usage.rb
bluepill-0.0.40 lib/bluepill/process_conditions/mem_usage.rb
dylanvaughn-bluepill-0.0.40 lib/bluepill/process_conditions/mem_usage.rb
dylanvaughn-bluepill-0.0.39 lib/bluepill/process_conditions/mem_usage.rb
bluepill-0.0.39 lib/bluepill/process_conditions/mem_usage.rb
bluepill-0.0.38 lib/bluepill/process_conditions/mem_usage.rb
bluepill-0.0.37 lib/bluepill/process_conditions/mem_usage.rb