memory-leak 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 14b3c3712d827c78c74132d04b0488e5572ede9a4ff1451e5df6990c8931007f
4
- data.tar.gz: f055ae13339a94c15fe4ee52ec264cde3e6ab764e84e3f358e94477c3f3e5753
3
+ metadata.gz: a1a1aa8b13b9b14b95e6bd4ae1c09eb042ce5771ca679999923f35dbc7e72aa5
4
+ data.tar.gz: 313df36998d573655a411fe3a0d73361d35b77da7e8ad557061e7d794bc82a6e
5
5
  SHA512:
6
- metadata.gz: cd92451ab8a82bc932279eff5d76c8a2b9e9b792bcc77e663b867a9ab8cbb9640dbe0b343841b1fdb74e770e1bf53abddbcd060bcfccecf47679c69cba5ddd57
7
- data.tar.gz: de5bd472ca16f2819c991c9d5b542da3d5a62c161bd1d4b64098f14a956f980cbb5db247a749512f35a982eeae0a265f2ceffbbaf60485adfeb17a060530eb55
6
+ metadata.gz: caba7b59ddf9077960030510220b1a971fc29d7947c21643ee0f1eeda72fa082841fe17f51d1e47a9caf042c64bcad60d6cf63429782f06db9e6bc083d9c232b
7
+ data.tar.gz: ebbcaabd44e33220917a476c6471e52534b21914046db1355bd0ba083f69dd0f8b36ebeadaec6982ec746809e23018badea4f24cf638b6cd012dca7880e659f8
checksums.yaml.gz.sig CHANGED
Binary file
@@ -85,8 +85,10 @@ module Memory
85
85
 
86
86
  # Sample the memory usage of all processes in the cluster.
87
87
  def sample!
88
- System.memory_usages(@processes.keys).each do |process_id, memory_usage|
89
- @processes[process_id].current_size = memory_usage
88
+ System.memory_usages(@processes.keys) do |process_id, memory_usage|
89
+ if monitor = @processes[process_id]
90
+ monitor.current_size = memory_usage
91
+ end
90
92
  end
91
93
  end
92
94
 
@@ -36,8 +36,14 @@ module Memory
36
36
  # @parameter process_ids [Array(Integer)] The process IDs to monitor.
37
37
  # @returns [Array(Tuple(Integer, Integer))] The memory usage of the given process IDs.
38
38
  def self.memory_usages(process_ids)
39
- IO.popen(["ps", "-o", "pid=,rss=", *process_ids.map(&:to_s)]) do |io|
40
- io.each_line.map(&:split).map{|process_id, size| [process_id.to_i, size.to_i * 1024]}
39
+ return to_enum(__method__, process_ids) unless block_given?
40
+
41
+ if process_ids.any?
42
+ IO.popen(["ps", "-o", "pid=,rss=", "-p", process_ids.join(",")]) do |io|
43
+ io.each_line.map(&:split).each do |process_id, size|
44
+ yield process_id.to_i, size.to_i * 1024
45
+ end
46
+ end
41
47
  end
42
48
  end
43
49
 
@@ -46,7 +52,7 @@ module Memory
46
52
  # @parameter process_ids [Array(Integer)] The process IDs to monitor.
47
53
  # @returns [Array(Tuple(Integer, Integer))] The memory usage of the given process IDs.
48
54
  def self.memory_usage(process_id)
49
- IO.popen(["ps", "-o", "rss=", process_id.to_s]) do |io|
55
+ IO.popen(["ps", "-o", "rss=", "-p", process_id.to_s]) do |io|
50
56
  return io.read.to_i * 1024
51
57
  end
52
58
  end
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Memory
7
7
  module Leak
8
- VERSION = "0.5.0"
8
+ VERSION = "0.5.2"
9
9
  end
10
10
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memory-leak
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
metadata.gz.sig CHANGED
Binary file