Hummingbird lets you see how visitors are interacting with your website in real time. And by “real time” we don’t mean it refreshes every 5 minutes—WebSockets enable Hummingbird to update 20 times per second. Hummingbird is built on top of Node.js, a new javascript web toolkit that can handle large amounts of traffic and many concurrent users.
Note: Hummingbird is pre-alpha software. While it shouldn’t screw up your production environment, it’s definitely not yet production ready. In fact, we’re still in the process of extracting it from the original app. So check it out, but don’t expect it to fulfill your greatest desires yet.
Downloading
You can clone the project with Git by running:
git clone git://github.com/mnutt/hummingbird
Installation
First check out the submodules:
git submodule update --init
cd deps/express
git submodule update --init
Copy the default configuration file:
cp config/app.json.sample config/app.json
Start MongoDB if it isn’t already started:
mongod &> log/mongodb.log &
Start the server and the monitor app:
node server.js &> log/hummingbird.log &
node monitor.js &> log/hummingbird_monitor.log &
Deployment
We run Hummingbird on Amazon EC2. Capistrano recipes and Ubuntu upstart scripts are included in config/ubuntu/upstart.