Sitemon 2

Sitemon2 is an application written in C++ designed to help monitor and test HTTP(S) website availability, functionality and performance. It has the following features:

  • Uses libCURL for HTTP requests
  • Command-line interface for one-off tasks
  • Built-in web server with a web interface for managing and displaying results of monitoring tasks
  • Built-in database for storing results of monitoring tests
  • Allows displaying header and body responses back from websites from the command line
  • Regular testing of websites at certain intervals
  • Allows scripts to be created, which are a series of requests to the same website, duplicating a user's journey (e.g. logging in to a website and then searching for and booking a flight)
  • Allows multiple simultaneous script or individual requests to be performed at the same time, in order to perform load testing on a website, simulating multiple users accessing and using a website.

Source code is available here:

Note: Originally (2010-era), Sitemon worked very well on Windows, but since then I can't guarentee that it will compile or run on that platform as I've only been using it on OS X and Linux.

It was a re-write of a previous Sitemon (1) app which was written in Python, but didn't scale very well (number of threads) for load-testing workflows. I initially started writing Sitemon2 in C as an exercise in not using C++ for everything, but fairly quickly decided that wasn't the best idea in this case.