Thursday, June 3, 2010

Dynamic graphing in the web world

Instead of studying for my midterm, I am sitting here wondering if there is a way to create and interact with dynamic graphs in the web-based world. I don't know of too many things that are even out there that behave in the manner I envision, apart from perhaps the charts in google finance.

What I want to accomplish can be done using Swing and Java. I suppose I could create an applet that allows you to interact with the data and do things with it. My main motivation for having the ability to interact with data is the following use-case. 

Where I work, we use an HP tool called LoadRunner. It has a fairly useful (if sometimes annoying) tool called LoadRunner Analysis. This tool allows you to dynamically select regions of the various graphs it displays to the end user and then does stuff (in this case, updates the data you see to align with the regions of the graph you selected). Data it presents includes things like averages of whatever you happen to be looking for on the graph, max, mins, that sort of thing. 

We also have similar data externally. One example is the verbose GC logs of the JVM we use. It would be useful if I could find a way to graph the data in a reasonable manner and then interact with it by highlighting regions of interest and then finding out for example when the last full GC was or what the average time is between two young GCs or how much space on average is gained after a full GC in that selected time-frame. 

I suspect something like the dynamic 2D graphs that google finance uses would be sufficient to do most of this work, but I have never seen it used anywhere else before. So, does anyone know what I am talking about and how to go about implementing it?