An Inside Look at Developing the New Calendar Visualization in SevOne NPM

In Data Insight 3.3 module of IBM SevOne Network Performance Management (NPM) we introduced a new “calendar” style visualization. It’s designed to solve a specific need to help our customers analyze data in the context of date and time.

As our team researched the best methods to build the calendar visualization, we sought to first answer two questions: Does this need to exist in our product? What differentiated capability does visualizing data in this construct provide? Additionally, we had concerns that adding another “heatmap” style visualization to our arsenal might be confusing for users.

Humans and pattern detection

We know humans are wired to detect patterns. We’re kind of good at it. Providing different ways to analyze and contextualize data to expose possible patterns in nuanced and varied way speeds that detection. The end goal being that users can more quickly interpret the data allowing them shorten analysis time, reducing outages and make better technical decisions. Date and time are relatable concepts to us.

When we reviewed initial prototypes of visualizations, we found out very quickly that when visualizing data in the context of date and time there is an inherit ability to very quickly detect patterns compared to basic time series line charts.

Example: Line Chart vs Calendar

Let’s look below at the time series chart analyzing CPU Utilization on one of our development servers. You’re likely noticing some kind of pattern in utilization spikes that look like they could be on an interval. To validate that theory, you’ll likely start hovering over if time stamps align every day, writing them down to see if the data points align etc.

One Week - Time Series Line Chart

But what if we pivoted to the new calendar view (shown below) that provides a day and hour heatmap matrix with auto ranged values to expose patterns? Very clearly, you’d be able to see that those spikes are in fact happening at a common time. Indeed, it appears to be every night in the 9pm hour as well as the midnight hour which makes me immediately ask the right question, “What’s scheduled to do such a thing every day without fail?” Cron jobs! It’s my cron jobs that kick off scheduled software processes to run on that server causing the unique increase in CPU utilization. Case closed.

One Week – Calendar Visualization

Making it SevOne NPM Ready

After some interval reviews and further analysis, we refined our design by expanding on the feature set in order to allow other time range views while including our default set of SevOne Data Insight core capability:

  1. Time range specific views that would help users quickly pivot between the hourly/weekly view to monthly, quarterly and annual.
  2. Adding custom color ranging; letting users pick the pattern, color scheme and range for values depending on their use case.
  3. Applying Device “Work Hours” so if a device is set to 9am-5pm work hour configuration in SevOne the visualization would trim the non-relevant hours from the view.
  4. Chaining and interactivity. Our normal bread and butter functionality that allows users to spawn and connect widgets in a report to allow multi-dimensional views of data sets with connected interactions among them.

Check out the videos below to see this new calendar visualization in action: