The last two weeks, I've been working on the monitoring feature for 7.0 (see previous weblog). In the used design, Hiawatha would buffer monitoring information and send it to the monitoring server every X seconds. Although it looked like it would be going to work just fine, the more code I wrote, the more it felt like I was going the wrong way. The idea of Hiawatha becoming a HTTP client didn't feel right. All the code for being a HTTP server was already there, so why not turning it all around. Instead of Hiawatha posting data to the monitoring server, the monitoring server should be asking for it.
Yesterday, I decided to get rid of the current monitoring code and start all over again. The new design felt right from the start. Of course, it will delay the 7.0 release. But, with this new design, the monitoring feature will be more solid.