Ethereal-dev: Re: [Ethereal-dev] RFC framework for graphical extensions like t he recent rate_

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Pavel Mores <pvl@xxxxx>
Date: Thu, 27 Jun 2002 19:04:34 +0200
On Thu, Jun 27, 2002 at 09:28:44PM +1000, Ronnie Sahlberg wrote:

> Why not use e.g. GNUPlot to print the graphs instead of coding it in GTK?
> Actually an excellent idea. The rest of the proposed draft design will be
> based on using something that opens a pipe to write commands into GNUPlot
> and let gnuplot do all the drawing (which will then make sure the graphs
> will always look really nice and professional).
> Another advantage is that we could then start GNUPlot with nice-ing it to
> very low priority on each and every (unix) platform so that the graph
> updates will not steal valuable cpu cycles if ehtereal needs it for
> something more important. To me its preferable to have jerky updates of the
> graph than to get higher packetloss if capturing.

I didn't go with gnuplot or any other external program while coding the
TCP analysis graphs because:

- I think it would be OK for simple things but it would cause a lot of
  trouble if I wanted to add some things (zooming, moving the graph
  around) and it would be impossible to do advaced stuff (magnifying
  window, selecting packets by clicking them in the graph).
- actually, gnuplot doesn't give you enough graphical freedom imho.  It
  has fixed set of features that would be a limiting factor after some
  time.  E.g.  tcptrace-style graphs would have to be done by exactly
  describing the lines to gnuplot on the lowest level.  At this point
  gnuplot is not very useful any more.  I mean, what is easier and more
  effective, doing GdkDrawLine(), or generating description of the line
  in gnuplot language and sending it down a pipe where GdkDrawLine() or
  equivalent is done?  In my view, the latter is ugly.

And come on, guys, handling axes and other overhead of having our own
drawing infrastructure is a matter of a few hundreds lines of code. ;-)
Nothing to be worried about.

	pvl