passenger_dyno 0.0.1 → 0.0.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.
- data/VERSION +1 -1
- data/lib/dyno_check.rb +29 -16
- data/lib/passenger/passenger_overview.rb +3 -2
- data/passenger_dyno.gemspec +3 -2
- data/pkg/passenger_dyno-0.0.2.gem +0 -0
- metadata +4 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/lib/dyno_check.rb
CHANGED
@@ -13,8 +13,8 @@ class DynoCheck
|
|
13
13
|
MongoMapper.database = database_config['database']
|
14
14
|
|
15
15
|
@servers = dyno_config['servers']
|
16
|
-
@passenger_memory_stats_output = `passenger-memory-stats`
|
17
|
-
@passenger_status_output = `passenger-status`
|
16
|
+
@passenger_memory_stats_output = `sudo passenger-memory-stats`
|
17
|
+
@passenger_status_output = `sudo passenger-status`
|
18
18
|
end
|
19
19
|
|
20
20
|
def run
|
@@ -43,36 +43,49 @@ class DynoCheck
|
|
43
43
|
# Line 4 Total memory used by Nginx worker processes
|
44
44
|
# Line 5 Total Passenger rails processes
|
45
45
|
# Line 6 Total memory used by Passenger rails processes
|
46
|
-
overview_stats = `
|
46
|
+
overview_stats = `echo "#{@passenger_memory_stats_output}" | grep '###' | awk '{print $3"\t"$6}'`.split("\n")
|
47
47
|
|
48
|
-
|
49
|
-
|
50
|
-
passenger_process = overview_stats[4].split("\t")[0]
|
51
|
-
passenger_memory = overview_stats[5].split("\t")[1]
|
48
|
+
apache_workers_count = overview_stats[0].split("\t")[0]
|
49
|
+
apache_memory_used = overview_stats[1].split("\t")[1]
|
52
50
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
51
|
+
# here we really only want the passenger processes for our server (minus application and spawn server)
|
52
|
+
passenger_process_count = `echo "#{@passenger_memory_stats_output}" | grep 'Rails:' | grep 'govpulse'`.split("\n").length
|
53
|
+
|
54
|
+
passenger_memory_used = overview_stats[5].split("\t")[1]
|
55
|
+
|
56
|
+
# here we really only want the total mem for the threads for our server
|
57
|
+
memory_threads = `echo "#{@passenger_memory_stats_output}" | grep 'MB.*Rails' | awk '{ print $1"\t"$4"\t"$7 }' | sort`.split("\n")
|
58
|
+
passenger_memory_used_for_server = []
|
59
|
+
memory_threads.length.times do |i|
|
60
|
+
memory_thread = memory_threads[i].split("\t")
|
61
|
+
passenger_memory_used_for_server = passenger_memory_used_for_server + memory_thread[1]
|
62
|
+
end
|
63
|
+
|
64
|
+
|
65
|
+
@dyno_server_check.passenger_overview = PassengerOverview.new(:total_apache_processes => apache_workers_count,
|
66
|
+
:total_apache_memory => apache_memory_used,
|
67
|
+
:total_passenger_processes => passenger_process_count,
|
68
|
+
:total_passenger_memory => passenger_memory_used,
|
69
|
+
:total_passenger_memory_for_server => passenger_memory_used_for_server)
|
57
70
|
end
|
58
71
|
|
59
72
|
def thread_check
|
60
73
|
# prints PID PrivateMem ProcessName
|
61
|
-
memory_threads = `
|
74
|
+
memory_threads = `echo "#{@passenger_memory_stats_output}" | grep 'MB.*Rails' | awk '{ print $1"\t"$4"\t"$7 }' | sort`.split("\n")
|
62
75
|
|
63
76
|
# prints PID Sessions Processed Uptime(min) Uptime(sec) seperated by tabs
|
64
|
-
status_threads = `
|
77
|
+
status_threads = `echo "#{@passenger_status_output}" | grep 'PID: ' | awk '{ print $2"\t"$4"\t"$6"\t"$8"\t"$9 }' | sort`.split("\n")
|
65
78
|
|
66
79
|
memory_threads.length.times do |i|
|
67
|
-
memory_thread = memory_threads[i
|
80
|
+
memory_thread = memory_threads[i].split("\t")
|
68
81
|
pid = memory_thread[0]
|
69
82
|
private_mem = memory_thread[1]
|
70
83
|
process_name = memory_thread[2]
|
71
84
|
|
72
|
-
status_thread = status_threads[i
|
85
|
+
status_thread = status_threads[i].split("\t")
|
73
86
|
sessions_waiting = status_thread[1]
|
74
87
|
sessions_processed = status_thread[2]
|
75
|
-
uptime = (status_thread[3] * 60) + status_thread[4]
|
88
|
+
uptime = (status_thread[3].slice(0...-1) * 60) + status_thread[4].slice(0...-1)
|
76
89
|
|
77
90
|
@dyno_server_check.passenger_threads << PassengerThread.new(:pid => pid,
|
78
91
|
:private_mem => private_mem,
|
@@ -4,6 +4,7 @@ class PassengerOverview < MongoStore
|
|
4
4
|
key :total_apache_processes, Integer
|
5
5
|
key :total_apache_memory, Integer
|
6
6
|
|
7
|
-
key :total_passenger_processes,
|
8
|
-
key :total_passenger_memory,
|
7
|
+
key :total_passenger_processes, Integer
|
8
|
+
key :total_passenger_memory, Integer
|
9
|
+
key :passenger_memory_used_for_server, Integer
|
9
10
|
end
|
data/passenger_dyno.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{passenger_dyno}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Bob Burbach"]
|
12
|
-
s.date = %q{2010-04-
|
12
|
+
s.date = %q{2010-04-11}
|
13
13
|
s.description = %q{ Store passenger memory usage and other useful statitics in MongoDb. Use
|
14
14
|
passenger_dyno_clinet to see those stats rendered with javascript!
|
15
15
|
}
|
@@ -34,6 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
"lib/passenger_dyno.rb",
|
35
35
|
"passenger_dyno.gemspec",
|
36
36
|
"pkg/passenger_dyno-0.0.1.gem",
|
37
|
+
"pkg/passenger_dyno-0.0.2.gem",
|
37
38
|
"test/helper.rb",
|
38
39
|
"test/test_passenger_dyno.rb",
|
39
40
|
"utilities/dyno_daemon.rb",
|
Binary file
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Bob Burbach
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-04-
|
17
|
+
date: 2010-04-11 00:00:00 -07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -110,6 +110,7 @@ files:
|
|
110
110
|
- lib/passenger_dyno.rb
|
111
111
|
- passenger_dyno.gemspec
|
112
112
|
- pkg/passenger_dyno-0.0.1.gem
|
113
|
+
- pkg/passenger_dyno-0.0.2.gem
|
113
114
|
- test/helper.rb
|
114
115
|
- test/test_passenger_dyno.rb
|
115
116
|
- utilities/dyno_daemon.rb
|