Application design
This application will have several screens to view the various properties of the app being monitored. We'll have a dashboard screen that shows an overview of the important metrics being monitored. Then, for each of these metrics, we'll have individual screens that allow the user to drill down and filter the data. As each of these screens will be variations on a common theme, we'll only build-out a couple to demonstrate the concepts, but the framework we'll build with this application means it would be trivial to add more. The Dashboard tab can be seen in the following screenshot:
The Web tab is as follows:
As users, what do we want to see in this monitoring application? We want information at a glance, but with the ability to easily get detailed information. Our primary concerns are the response times of web requests and queries to the database, so we want both these metrics available to us. Let's think about the user interface that supplies this information and what it...