Sha256: 36755eb2cf23dfa7fede3f36f288bdb412a42bd3b858c3d4dfb2d3591fc0b67a

Contents?: true

Size: 983 Bytes

Versions: 15

Compression:

Stored size: 983 Bytes

Contents

require 'get_process_mem'

module Instana
  module Collector
    class Memory
      attr_accessor :payload_key

      def initialize
        @payload_key = :memory
        @last_report = {}
        @this_mem = {}
      end

      ##
      # collect
      #
      # To collect process memory usage.
      #
      def collect
        @this_mem.clear
        @this_mem[:rss_size] = ::GetProcessMem.new(Process.pid).kb

        @this_mem = ::Instana::Util.enforce_deltas(@this_mem, @last_report)
        unless @this_mem.empty?
          @last_report.merge!(@this_mem)
          @this_mem
        else
          nil
        end
      rescue => e
        ::Instana.logger.error "#{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.message}"
        ::Instana.logger.debug e.backtrace.join("\r\n")
      end
    end
  end
end

# Register the metrics collector if enabled
if ::Instana.config[:metrics][:memory][:enabled]
  ::Instana.collectors << ::Instana::Collector::Memory.new
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
instana-1.0.2 lib/instana/collectors/memory.rb
instana-1.0.1 lib/instana/collectors/memory.rb
instana-0.15.0 lib/instana/collectors/memory.rb
instana-0.14.2 lib/instana/collectors/memory.rb
instana-0.14.0 lib/instana/collectors/memory.rb
instana-0.13.1 lib/instana/collectors/memory.rb
instana-0.12.1 lib/instana/collectors/memory.rb
instana-0.12.0 lib/instana/collectors/memory.rb
instana-0.11.0 lib/instana/collectors/memory.rb
instana-0.10.1 lib/instana/collectors/memory.rb
instana-0.9.2 lib/instana/collectors/memory.rb
instana-0.9.1 lib/instana/collectors/memory.rb
instana-0.9.0 lib/instana/collectors/memory.rb
instana-0.9.0.pre.slywolf3 lib/instana/collectors/memory.rb
instana-0.8.6 lib/instana/collectors/memory.rb