Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / plugins / other / passenger_processes @ e5ce7492

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