public
Description: Process title support for Mongrel (GemPlugin)
Homepage: http://github.com/rtomayko/mongrel_proctitle/tree/master/README
Clone URL: git://github.com/rtomayko/mongrel_proctitle.git
rtomayko (author)
Sun Mar 01 03:09:07 -0800 2009
commit  109c5b3202454dec2e59d2aa8f8d43e7d5ec3b0d
tree    3684d73e59b95eabcc1e4b9643ad822acb7bf24a
parent  44fe0ee4b0d2804d3d66b3c3f9b1c2b526e3b756
name age message
file .gitignore Fri Feb 22 20:41:56 -0800 2008 Now tracking .gitignore [rtomayko]
file LICENSE Fri Feb 22 20:00:04 -0800 2008 Tweak README and LICENSE and bump version to 1.... [rtomayko]
file README Mon Feb 23 12:52:30 -0800 2009 Use gemspec from Rakefile [rtomayko]
file Rakefile Mon Feb 23 12:52:30 -0800 2009 Use gemspec from Rakefile [rtomayko]
directory bin/ Loading commit data...
directory lib/
file mongrel_proctitle.gemspec
README
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, GET /feed/index
                 |     | |     |        |          |
                 |     | |     |        |          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