#!/usr/bin/env ruby
#
# Be sure to configure this node in the plugin configuration
# Memory stats must be run by root
# Ex:
# [passenger_memory]
# user root
# env.memory_stats_command path_to_passenger-memory-stats
#

memory_stats_command = ENV['memory_stats_command'] || '/opt/ruby-enterprise-1.8.6-20080810/bin/passenger-memory-stats'

if ARGV.length > 0 && ARGV[0] == 'config'
  puts "graph_title Passenger Memory Usage"
  puts "graph_vlabel MB"
  puts "apache_rss.label Apache Dirty RSS"
  puts "passenger_rss.label Passenger Dirty RSS"
  exit(0)
end

apache_rss = nil
passenger_rss = nil

`#{memory_stats_command}`.each_line do |line|
  next unless /### Total private dirty RSS: (\d+\.\d+) MB/.match(line)
  passenger_rss = $~[1] unless apache_rss.nil?
  apache_rss ||= $~[1]
end

puts "apache_rss.value #{apache_rss}"
puts "passenger_rss.value #{passenger_rss}"

