root / plugins / other / passenger_processes @ 7da1b039
Historique | Voir | Annoter | Télécharger (1011 octets)
| 1 |
#!/usr/bin/env ruby |
|---|---|
| 2 |
# |
| 3 |
# [passenger_processes] |
| 4 |
# user root |
| 5 |
# env.process_stats_command /opt/ruby-enterprise-1.8.6-20080810/bin/passenger-status |
| 6 |
# |
| 7 |
|
| 8 |
process_stats_command = ENV['process_stats_command'] || '/opt/ruby-enterprise-1.8.6-20080810/bin/passenger-status' |
| 9 |
|
| 10 |
if ARGV.length > 0 && ARGV[0] == 'config' |
| 11 |
puts "graph_title Passenger Processes" |
| 12 |
puts "graph_vlabel processes" |
| 13 |
puts "max.label Max processes" |
| 14 |
puts "count.label Total processes" |
| 15 |
puts "active.label Active processes" |
| 16 |
puts "queued.label Queued requests" |
| 17 |
exit(0) |
| 18 |
end |
| 19 |
|
| 20 |
max = nil |
| 21 |
count = nil |
| 22 |
active = nil |
| 23 |
queued = nil |
| 24 |
|
| 25 |
`#{process_stats_command}`.each_line do |line|
|
| 26 |
if /max\s+=\s+(\d+)/.match(line) |
| 27 |
max = $~[1] |
| 28 |
elsif /count\s+=\s+(\d+)/.match(line) |
| 29 |
count = $~[1] |
| 30 |
elsif /^active\s+=\s+(\d+)/.match(line) |
| 31 |
active = $~[1] |
| 32 |
elsif /Waiting on global queue\s+=\s+(\d+)/.match(line) |
| 33 |
queued = $~[1] |
| 34 |
end |
| 35 |
end |
| 36 |
|
| 37 |
puts "max.value #{max}"
|
| 38 |
puts "count.value #{count}"
|
| 39 |
puts "active.value #{active}"
|
| 40 |
puts "queued.value #{queued.to_i}"
|
| 41 |
|
