Here are some prototype examples of visualizaton tools directed at performance analysis exploration
rather than simple reporting. The detailed attributes are discussed below.
Additional ackground concerning the general approach can be found in the CMG 2007 conference paper
Seeing It All at Once with Barry (PDF).
Barry2D in Fig. 1 above
displays CPU utilization for a 72-way multiprocessor
running a network-based workload on ORACLE 10g. The barry-3 axes are:
USR: %user time (vertical upward increasing, red)
SYS: %system time (left-right downward increasing, yellow)
IDL: %idle (right-left downward increasing, blue)
At 12:36:46, the workload begins to ramp up starting at the lower left
corner of the triangle; maximum idleness. Most of the CPUs (shown as
colored dots) gradually make their way up the blue idle axis (decreasing
idleness) to cluster around the region bounded by the 25% idle line, the
25% sys line and the 50% usr line. However, 3 CPUs peel off at around
10% usr time and rapidly migrate (rightward) to the 80-90% sys location;
near the tip of the yellow arrow.
These CPUs are dedicated to handling
network traffic and other house-keeping. At 12:53:41, the workload
completes and all the CPU dots rapidly return to the tip of the blue arrow
as they become idle again. Some clean up continues as some of the CPUs are
seen to run back and forth along the base of the Barry3 triangle (zero usr
time) between idle and system time. The frame rate of 1 second corresponds
to 10 seconds of real time, as shown in the clock display. (Data supplied
with permission by Time Cook of Sun Microsystems.)
A limitation of the above
is that you need to use
CPUplayer in Fig. 2 above
is a stand-alone version of Barry2D, written by
that provides animation for visually exploring performance issues based on multiprocessor utilization data.
Moreover, since it is open-source, all the code for contructing
Stand-alone video playback of historical multiprocessor utilization data
Data format can be as simple as CSV
Toggled display of date and time information
Toggled display of multicore IDs
Toggled display of USR, SYS and IDL axes
Full color performance zones
See the videos from this case study
which shows CPUplayer
diplaying the performance advantages of enabling
in Solaris 10 for a Sybase OLTP workload running on a Sun Entreprise T5220 with up to 32 virtual processors.
(cf. Mathematica animation in
Fig. 1 above
for Oracle OLTP workload on a Sun E10K server)
The Apdex Alliance
is a group of companies collaborating to promote an
application performance metric called Apdex. Apdex is a numerical measure
of user satisfaction with the performance of enterprise applications, and
reflects the effectiveness of IT investments in contributing to business
The visualization in Fig. 3 above shows both the Apdex index and its component
categories can be displayed for multiple geographical locations simultaneously.
The location of each dot is determined by its percentage of satisfied
(s), tolerating (t) and frustrated (f) counts.
In this case, the unnormalized categorical data is binned according to:
S: Samples < 4 seconds
T: 4 seconds < Samples < 16 seconds
F: Samples > 16 seconds
The Apdex response time measurements were collected from 5 different
geographic locations (shown in the legend) over a period of 30 days. Data
supplied with permission by Peter Sevcik of the Apdex Alliance.
The gray background is superimposed to better display the colored dots.
This visualization concept was
at the 2007 Apdex Symposium.
above is a representation of the 3-simplex depecting 4
network performance metrics in three dimensions for 1,000 network segments
depicted as a cloud of points.
It is very clear, even without looking closely at the
visual area, that the points cluster into 3 sub-clouds along certain
viewing angles. This is the barycentric analog of the MacSpin example.
One way to maintain all input digits explicitly is to represent them as a string of characters. This can be accomplished
by either reading the number in from the keyboard or by passing it as a string-valued
parameter in quotes. Otherwise, an input number like 0.040300 (which has 5 sig digits)
would be represented as 0.0403 in numerical form (trainling zeros are
truncated) and that would lead to the incorrect conclusion that the number only had
3 sig digits on input.
For more background information
see Chap. 3 of Guerrilla Capacity Planning and
Significant Figures in R and Info Zeros.