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: https://github.com/ppearson/sitemon2.
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.