Tracking traffic with balls

Whenever groups visit the Greenspun Newsroom or whenever we give a presentation about our operation, especially to other media folks, one of the things that fascinates people is what we call the “wall of balls.”

It’s really nothing more than a video monitor that shows live traffic to It looks like this:

The system was basically implemented and tweaked by one of our team’s programmers, Tim Thiele.

We have one of these monitors at three different locations in our newsroom.

It basically works like this: A ball falling from the top left to right represents a request to our Python application servers in real time. The bigger the ball is, the longer it took to serve that request. Just by glancing at the monitor we can tell if we’re getting a lot of traffic and if our pages are loading slowly.

But that’s not the main reason we use it. The “wall of balls” is a real-time visualization of what our audience is reading on our site. We can immediately see what the 30 or so most-visited pages are on our site and how many people are looking at each of those pages.

Because’s URLs are built off story headlines, with just a glance we can see what stories people are reading.

We can also quickly see how many people are on our site at that moment, as well as how many are using our mobile site.

It also shows the top ways people are getting to our site at that moment, as well as browser info and ISP info.

Here’s how it looks in video format:

It’s just damn handy. Especially when we’re trying to gauge if we’re playing a story correctly on the home page. It’s always been one of our team’s beliefs that we shouldn’t make it hard for people to get to where they want to go on our site. This helps us achieve that.

Our editors use the “wall of balls” as a tool to determine what stories get the best play on the home page at any given moment. In general, the stories getting the most traffic from visitors via our home page will get the most prominent positions on the page. The “wall of balls” helps us gauge reader interest minute-by-minute.

It doesn’t take long to notice a trend with how our readers react to new stories published to the site. Stories generally get the most traffic in the first hour or so after they’re posted. By the time that traffic begins to die off, we’ve usually got a new story to put in its place in a prominent spot.

Of course, some stories are so big that they require frequent updates throughout the day. Those stories with staying power can maintain a high level of traffic through the next day. While some of these things might seem obvious, the “wall of balls” gives us specific data on every story to help determine how it’s played on our site.

As I said earlier, we get asked about this program all of the time. I probably get a couple of e-mails a month from folks asking about it. Here are the details I typically send in those responses:


Our “wall of balls” is actually an open-source program called glTail.rb.

How we use it is not necessarily how the program works out of the box.

We run our logs to a log server, then we run live filtering on those logs to increase that information’s usefulness to our newsroom, then run glTail on that.

We filter out bots and we filter out requests to our media servers since each page will typically have multiple external assets (images, CSS, Javascript and Flash SWFs). We’re primarily focused on URLs navigated by our audience. The cumulative effect of these filters is that each ball generated at the top left of the display is roughly equivalent to a page view.

To display all of this info, we simply have it all running on a Mac Mini — though you could use just about any computer — then we send the view to big video monitors mounted on the walls of our newsroom.

We love it because it’s functional and cool. More importantly, it helps us better serve our audience.

Here are some links to where you can find more info:


To comment on this post, or to see comments about this post, please go here. (Requires Facebook account.)

Published by


Dad. Journalist. Nerd. Music lover. Baseball fan. Puckhead.