capelinhos 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 259f8c17e8e1d4907906ad0a5a69bc4c7ff46f284f4492657bdcdd9eb77dc1ed
4
- data.tar.gz: 16156b9dd200f5ad4add2b66e130044f3bf4c0caf052370ff382b3ef299c89b7
3
+ metadata.gz: 78e1daf01cf2cdb53f94de1f68f88d014ae4f5d849a1efd13f5db6bec159b0b6
4
+ data.tar.gz: 44a494709edc3bd69d4a00a76dc2ca3ddb28b9950fe17414c34768d26a0b1e71
5
5
  SHA512:
6
- metadata.gz: 37e66c20f4a62e8965766564aaee96d66e730c36011872cbd62fdb93d8061e4143255fdff603652d62ac542372ac935196d11698d9e49ada9b9152f5afd8bfb3
7
- data.tar.gz: 99551500dbf149aeea945c4cad61950cf4b36a752381cc2b8791b9af06b1ff2e674d0828bb296b54e6bc4eb9e4f34ad541fb42d446709861735bfb1854c23109
6
+ metadata.gz: 7b4fdaecc769d87f5b0649bb9b00f90e8aade2c5c5c0901b5eef16c348b24b75ee4ec190cc9f6b2cf87e8721dd4d8726ba08ec984df0a42c97c5260850cbe397
7
+ data.tar.gz: fd64de034e829cf6dbe88a7d00bda14a7e536cb3fd09bf56124d2420ff31f1695d9ec7fd0686cca79a17f8ef61dc04eec22f474fd710ae0104f87e2715c16217
@@ -14,9 +14,15 @@ module Capelinhos
14
14
  stats = AdminTools::MemoryStats.new
15
15
  processes = stats.passenger_processes
16
16
 
17
+ if !supports_private_dirty_rss?(processes)
18
+ puts "This system doesn't support private dirty RSS. Falling back to RSS"
19
+ end
20
+
21
+ rss_type = supports_private_dirty_rss?(processes) ? :private_dirty_rss : :rss
22
+
17
23
  processes.each do |process|
18
24
  if process.name.include?('RubyApp')
19
- rss_megabytes = process.rss / 1024
25
+ rss_megabytes = process.send(rss_type) / 1024
20
26
  if rss_megabytes > @memory_threshold
21
27
  shutdown_process(process.pid)
22
28
  processes_killed += 1
@@ -31,6 +37,10 @@ module Capelinhos
31
37
 
32
38
  private
33
39
 
40
+ def supports_private_dirty_rss?(processes)
41
+ processes.any?{|p| !p.private_dirty_rss.nil?}
42
+ end
43
+
34
44
  def shutdown_process(pid)
35
45
  _instance = instance
36
46
  request = Net::HTTP::Post.new("/pool/detach_process.json")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Capelinhos
4
- VERSION = "0.5.0"
4
+ VERSION = "0.6.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capelinhos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Hallett