Projet

Général

Profil

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

root / plugins / other / passenger_processes @ 7e562477

Historique | Voir | Annoter | Télécharger (1,02 ko)

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_category webserver"
13
  puts "graph_vlabel processes"
14
  puts "max.label Max processes"
15
  puts "count.label Total processes"
16
  puts "active.label Active processes"
17
  puts "queued.label Queued requests"
18
  exit(0)
19
end
20

    
21
max = nil
22
count = nil
23
active = nil
24
queued = nil
25

    
26
`#{process_stats_command}`.each_line do |line|
27
  if /max\s+=\s+(\d+)/.match(line)
28
    max = $~[1]
29
  elsif /count\s+=\s+(\d+)/.match(line)
30
    count = $~[1]
31
  elsif /^active\s+=\s+(\d+)/.match(line)
32
    active = $~[1]
33
  elsif /Waiting on global queue\s+=\s+(\d+)/.match(line)
34
    queued = $~[1]
35
  end
36
end
37

    
38
puts "max.value #{max}"
39
puts "count.value #{count}"
40
puts "active.value #{active}"
41
puts "queued.value #{queued.to_i}"
42