Date: April 30, 2001
Some of the most powerful debugging techniques are also the simplest. One such technique is to plot the data in time series order. The data often shows patterns that help identify the cause of the problem.
The attached chart illustrates how this technique was used to identify the cause of high response times in a recent benchmark. The benchmark measured response times of a complex three tier application. The problem was that about 1% of the response times were unacceptably high, ranging between 2-120 seconds. The multiple server tiers and software layers made it extremely difficult to pinpoint the cause of problem.
Plotting the data in time series order showed the high response times were clustered together in a "saw tooth" pattern. The "saw tooth" pattern indicated a systematic problem. It also suggested a "common cause" because all client servers experienced the high response times at the same time. This focused attention on the only common component, the database server. It was subsequently found the high response times were caused by a bug in a database log file rotation.
The benefit of this technique is that it is simple, powerful and doesn't require deep technical expertise in all areas.