Home > mongrel_proctitle

mongrel_proctitle

Mongrel_proctitle is a project mainly written in Ruby, based on the View license.

Process title support for Mongrel (GemPlugin)

Mongrel process title GemPlugin

This is a simple plugin for Mongrel which changes the process title to reflect what it's currently doing. You can then determine a given Mongrel server's status using "ps".

For example:

mongrel_rails [10010/2/358]: handling 127.0.0.1: HEAD /feed/cal/global/91/6de4 The current req (method / path)
The client IP
What it's doing
Requests processed during server lifetime
Requests currently queued/being processed concurrently
             The port that Mongrel is serving

This is almost entirely based on Alexander Staubo's Rails plugin with the same name:

http://purefiction.net/mongrel_proctitle/

The main difference is that the GemPlugin will automatically be loaded by all mongrels without additional code changes or configuration.

Monitoring Mongrels

Once the program is installed, you should be able to see the formatted process title by running:

$ ps -axwwo pid,command | grep mongrel_rails

See ps(1) for more options. You may want to include %cpu, rsz, %mem, or other fields in output.

There's also a mongrel_top executable included in the gem that works like top(1) but displays only mongrel processes:

$ mongrel_top

By default, mongrel_top updates the display every 0.25 seconds and shows the pid and process title. You can select a different interval and fields with the -s and -o arguments, respectively:

$ mongrel_top -s 0.1 -o pid,%cpu,rsz,command

The "command" field must be included.

Installation

This version of the plugin is packaged specifically as a Mongrel GemPlugin. Install using:

gem install mongrel_proctitle --source=http://tomayko.com

Once installed, all new mongrels will automatically load the plugin during startup. If you would prefer to control which mongrels load the plugin, do not install this gem. Use the directions below instead.

Installing into a specific Rails app only

See Alexander Staubo's original project:

http://purefiction.net/mongrel_proctitle/

Showing your application-specific revision/release in the title

In your application's start-up process, re-open Mongrel::Proctitler and define a get_app_revision method. In a Rails app, a good place to do this is in RAILS_ROOT/config/environments/production.rb. An example get_app_revision method might look like:

def get_app_revision cat ./REVISION.chomp end

License

I've included the LICENSE file from the original mongrel_proctitle distribution. It is the "New and Simplified BSD License". More information on this license can be found at:

http://www.opensource.org/licenses/bsd-license.php