root / plugins / other / passenger_processes @ 7da1b039
Historique | Voir | Annoter | Télécharger (1011 octets)
| 1 | 5dc14c97 | Welsey Moxam | #!/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}"
|
