Module: MemoryMonitorClient
- Defined in:
- lib/memory_monitor_client.rb,
lib/memory_monitor_client/version.rb
Constant Summary collapse
- VERSION =
'0.0.5'
Class Method Summary collapse
Class Method Details
.collect_data ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/memory_monitor_client.rb', line 24 def self.collect_data { time_stamp: Time.now, rss: rss, gc_stat: gc_stat, pid: Process.pid } end |
.gc_stat ⇒ Object
37 38 39 |
# File 'lib/memory_monitor_client.rb', line 37 def self.gc_stat GC.stat end |
.rss ⇒ Object
33 34 35 |
# File 'lib/memory_monitor_client.rb', line 33 def self.rss `ps -o rss #{Process.pid}`.split("\n").last.to_i / 1024 end |
.run(config, &block) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/memory_monitor_client.rb', line 7 def self.run(config, &block) Thread.new do socket = UDPSocket.new loop do if block_given? data = block.call(collect_data).merge(collect_data) else data = collect_data end socket.send(JSON.dump(data), 0, config[:host], config[:port]) sleep config[:period] end end end |