From 5dc14c9795b686c30714bf34687171a0a1592045 Mon Sep 17 00:00:00 2001 From: Welsey Moxam Date: Thu, 12 Feb 2009 20:08:33 +0100 Subject: [PATCH] Initial version --- plugins/other/passenger_processes | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 plugins/other/passenger_processes diff --git a/plugins/other/passenger_processes b/plugins/other/passenger_processes new file mode 100755 index 00000000..9b68a3d0 --- /dev/null +++ b/plugins/other/passenger_processes @@ -0,0 +1,41 @@ +#!/usr/bin/env ruby +# +# [passenger_processes] +# user root +# env.process_stats_command /opt/ruby-enterprise-1.8.6-20080810/bin/passenger-status +# + +process_stats_command = ENV['process_stats_command'] || '/opt/ruby-enterprise-1.8.6-20080810/bin/passenger-status' + +if ARGV.length > 0 && ARGV[0] == 'config' + puts "graph_title Passenger Processes" + puts "graph_vlabel processes" + puts "max.label Max processes" + puts "count.label Total processes" + puts "active.label Active processes" + puts "queued.label Queued requests" + exit(0) +end + +max = nil +count = nil +active = nil +queued = nil + +`#{process_stats_command}`.each_line do |line| + if /max\s+=\s+(\d+)/.match(line) + max = $~[1] + elsif /count\s+=\s+(\d+)/.match(line) + count = $~[1] + elsif /^active\s+=\s+(\d+)/.match(line) + active = $~[1] + elsif /Waiting on global queue\s+=\s+(\d+)/.match(line) + queued = $~[1] + end +end + +puts "max.value #{max}" +puts "count.value #{count}" +puts "active.value #{active}" +puts "queued.value #{queued.to_i}" +