SystemDataRecorder is perhaps the most complete and simple package for professional performance monitoring, performance analysis, system sizing, and capacity planning in challenging business environments. It provides consistent data recording across systems and devices, permits access to raw data and is designed for time series analyses. It may not seem that way for non-software experts, but it is indeed a very powerful and long-awaited solution to a long-standing problem.
Even though computers have been around for more than 25 years, there is still no consistent performance monitoring between different operating systems, as each environment deploys its own type of monitoring and data collection tools. Consistent data recording across different operating systems is highly difficult to do without purchasing separate software for each environment or installing third-party solutions. Even the format used for recording data varies from system to system, making data collection and analysis a logistic nightmare.
Looking closely at the individual operating systems, it is easy to see that the methods for obtaining performance data are actually similar, but different interfaces are used with varying terminology according to the individual vendors and the specific type of implementation. The idea behind SystemDataRecorder is to have several standard data collecting agents to obtain metrics from the system interfaces to exporting this information in a unified way. For the exported data, a plain text file can be used, foregoing any special file formats, to make this file usable for any available analytic tool. In this way, a simple data recording module can be used for system troubleshooting, performance analysis, system crash analysis etc., and it is easy to enable across a large number of hosts in a data center, and the operating system used no longer plays a role.
SystemDataRecorder was already available and proving to be the light at the end of the tunnel for Linux and Solaris systems, when Redwerk was contacted about adapting it also to Windows 2003 and 2008 server environments. The goal was for these servers to work with similar metrics as SystemDataRecorder for Linux or Solaris. The solution had to use as few system resources as possible, be small in size and robust enough in order not to create system overheads. The recorders had to be implemented as Windows services, i.e. native applications for 32-bit and 64-bit systems. All data had to be stored in a plain text file.
An additional challenge was to port the ability to monitor the output of the raw data files to Windows. For every change in a file, a HTTP/HTTPS POST had to be sent to a backend system in order to be analyzed later. The software had to be distributed as a software package suitable for automatic installation on Windows without the need for user interaction.