sampleExcelOverlay

Edward Tufte has written extensively on the use of small multiples and sparklines. These concepts, the use of many small plots using a consistent pattern allows you to quickly survey large amounts of data for abnormal patterns. The concept focuses on how our eye can parse large numbers of micro plots and quickly assess an abnormal pattern – it’s an innate ability that all people have. We can leverage this ability by creating visualizations that present consistent patterns to the viewer, and subtly illustrate abnormalities that anyone can observe. 

Here’s an example of a lab visualization I developed for assessing the results of experiments run on an internal test environment. This was a high scale test infrastructure with three test tiers – a client that issued API calls, an application server hosting an MDM solution, and a database host. Metrics were collected from each tier, including client logs, application logs, database logs, SAR (system activity report) data from each of the three Linux hosts, and iostat data from the application and database hosts. This is a lot of data spread across multiple text logs. Inspecting these results manually for dozens of experimental runs is not possible. Plotting these manually is also untenable, as that would take hours per data set. This cries out for automation, especially given the structured nature of the test infrastructure and data sets being collected.

The plot

So here’s the visualization…just soak it in and get an initial impression:

sampleExcelOverlay

Data visualization strategies to note

  • metrics presented – there are many, many more metrics collected in the client, application and database logs, as well as by SAR and iostat. I’ve done some of the leg work in sorting out which of those metrics are most relevant, and presented them in each section.
  • stack arrangement – I’ve attempted to recreate the application stack by arranging the data in a way that mirrors the infrastructure’s architectural map. This should help reinforce the design of the test system, and how information flows from the client to the application tier to the database tier and back. This aligns with your logical approach to ferreting out a bottleneck by traversing the infrastructure the way a request will.
  • small multiples / sparkles – the use of repeated plots should be fairly obvious. It should feel comfortable to your eye, and you likely quickly surveyed a group of plots first before digging on any one specific plot. I would expect you viewed the plot as a whole, then began looking for patterns that looked out of place. That is the beauty of sparklines and designing for how people visually parse data.
  • the use of red – you were probably drawn to the heavy read bar representing the steady state metrics the summary statistics correlated to. The use of a dark red is more subtle than bright red, and the use of a larger point value for the red line attracts your eye, focusing you on the steady state shape. The use of this red steady state also helps tie all the sparklines together, even if they are not vertically aligned.
  • the use of gray – hopefully you didn’t even notice the use of gray for the balance of the curve. The light gray pushes the other data points to the background while you focus on the steady state. This strategy allows you to focus on the steady state interval while still observing the portion of the curve outside of the current steady state.
  • elimination of unnecessary plot elements – a key to successful information design is the elimination of plot elements that are not necessary, or repetitive. In this example, vertical and horizontal axis are not necessary, nor are labels, since each micro plot is preceded by a label telling you what it is. The plot is then followed by key metrics from that plot – mean, median and max. These values take the place of an axis, and allow the user to focus on the data, understanding the relative scales by simply reading the data values.

A closer look at sparklines

Typical sparklines are simple micro plots that are placed in line with text. I’ve modified the approach with a user controlled variable sized overlay that illustrates a sample period that can be changed by the user. This allows for the user to interact with the data set and identify interesting periods within an experiment, and monitor what is happening across multiple subsystems at the same point in time. Sparklines allow us to improve the information density of a graphic – a much more dense and richer display than typical monitoring consoles.

sampleExcelOverlay-db

The database tier CPU metrics were illustrated above, and the buffer pool metrics are presented below. Note how despite changing the dimensions of the plot to accommodate additional  columns of data, the use of the steady state period allows your eye to adjust to the change in scale.

sampleExcelOverlay-pools

In this particular example, the change in scale was necessary to fit the additional metrics within the layout of the graphic when we transitioned this lab infrastructure from Oracle to DB2. This is an interesting example as the auto-generated pool sparklines illustrate how viewing all pool activity in a small area allows you to quickly assess which pools are most important to a given workload. In this case, the pool containing the 4k indexes is the most active.

Probing the data

This tool was built within Microsoft Excel, with supporting VB script that allowed for the dynamic control of the steady state period and resulting summary metrics presented within the graphic. This workbook was intended to allow for the rapid ingest of multiple data files and the analysis of that data once it was processed.

sampleExcelOverlay-steadystate

Over time I learned what the steady state targets were for each environment and the default configuration for the steady state period was set to automatic. However this mechanism was valuable during test development when we were evaluating new workloads.

The takeaway

Small multiples are a powerful tool that are underused in our industry. I see absolutely horrible information design in most consoles available for many products. As an industry we place too much focus on “pretty” designs that are completely, and absolutely functionally useless. Designers need to think about data analytics and presenting information properly following many of the design principles outlined in this post.