Commit Graph

91 Commits

Author SHA1 Message Date
Ronnie Sahlberg d2097c1c88 remove the redundant count_type structure as part of the iostat cleanup
svn path=/trunk/; revision=8694
2003-10-14 10:01:00 +00:00
Ronnie Sahlberg e9df6cc9df further cleanup
remove redundant structure for yscale_max

svn path=/trunk/; revision=8693
2003-10-14 09:55:40 +00:00
Ronnie Sahlberg e7335134a0 further cleanup
remove the redundant pixels_per_tick structure

svn path=/trunk/; revision=8692
2003-10-14 09:27:42 +00:00
Ronnie Sahlberg be546393cc Simplify handling of tick val
remove unnessecary code and structures    cleanup

svn path=/trunk/; revision=8691
2003-10-14 09:15:51 +00:00
Ronnie Sahlberg 61e4447e89 update to iostat
add different styles to draw the plot

svn path=/trunk/; revision=8689
2003-10-14 09:03:03 +00:00
Ronnie Sahlberg 2bd1015a37 Further updates/rewrite of iostat
getting closer to add useful features

svn path=/trunk/; revision=8679
2003-10-12 04:20:03 +00:00
Ronnie Sahlberg c646041d36 minor cleanup and update for printing the y scale as time in units of s,ms and us
svn path=/trunk/; revision=8678
2003-10-11 23:17:46 +00:00
Ronnie Sahlberg a5158ca967 Massive update of the _draw() routine in iostat
in preparation of more features.

The most visible changes are
  graps drawn as sawtoots instead of bars.
  relative times (mainly used for response times FT_RELATIVE_TIME) will be plotted as time measured in "s" "ms" or "us" on the y axis

future updates may be  smoothed graphs  and better relative time support

svn path=/trunk/; revision=8676
2003-10-11 11:23:52 +00:00
Guy Harris 3a0d0dcbc1 Rename "max_tick_values" to "tick_interval_values", to make it clearer
what it is.

svn path=/trunk/; revision=8631
2003-10-06 22:13:36 +00:00
Guy Harris 1d27a3d370 Make the "needs_redraw" flag a gboolean, as it's a Boolean flag.
Rename "max_count_types and "max_calc_types" to "count_type_names" and
"calc_type_names", to make it clearer what they are.

For the advanced statistics, give different error messages for the case
where no field name was specified and where an invalid field name was
specified.

Give better error messages for the cases where the calculation type
isn't supported for a particular field.

Initialize the calculation type for a given field.

svn path=/trunk/; revision=8630
2003-10-06 22:10:42 +00:00
Ronnie Sahlberg 3ef7004826 Fix to IO-Stat.
IO-Stat failed to produce Advanced/COUNT(*) statistics for fields of type FT_NONE.
Fixed.

Now it is possible to do :
Advanced/COUNT(*)  Filter:tcp.analysis.retransmission  Field:tcp.analysis.retransmission
Advanced/COUNT(*)  Filter:tcp.analysis.duplicate_ack  Field:tcp.analysis.duplicate_ack

And it will plot the number of Retransmissions and Duplicate ACKs seen in each time interval.

svn path=/trunk/; revision=8609
2003-10-04 03:10:18 +00:00
Guy Harris 59938a45fe Assorted GUI cleanups.
svn path=/trunk/; revision=8544
2003-09-26 02:09:44 +00:00
Guy Harris 4e64afcb25 Pass a pointer to a "capture_file" structure to
"set_menus_for_selected_packet()" and
"set_menus_for_selected_tree_row()", and have them decide whether to
enable or disable menu items based on whether that structure indicates
that a packet or field is selected and, if one is, on its properties.

Pass to the "selected packet enabled" routine for a menu item the
"frame_data" and "edt" members of the "capture_file" structure, and pass
to the "selected tree row enabled" routine the "field_info" member of
that structure.

Clear "cf->current_frame" if no packet is selected.

svn path=/trunk/; revision=8525
2003-09-24 02:36:35 +00:00
Guy Harris e8e9f1bdfe Provide a mechanism by which a tap can arrange to have its menu enabled
or disabled based on a currently-selected packet (or lack of same) or a
currently-selected protocol tree item (or lack of same).  Not currently
used, but necessary if we ever make the TCP graph stuff a tap.  API is
tentative and subject to change.

Also, enable and disable taps based on whether we have any packets to
process.

svn path=/trunk/; revision=8498
2003-09-19 07:24:39 +00:00
Guy Harris 1513888c99 Have "register_tap_menu_item()" put the item under Tools, not
Tools/Statistics; change the taps to put things under Statistics
themselves.  That allows taps to go elsewhere if appropriate.

svn path=/trunk/; revision=8488
2003-09-17 19:39:34 +00:00
Guy Harris f56d16abab Add a routine to return the display name for a "capture_file" structure,
rather than constructing that name when a capture file is opened and
putting a pointer to it in that structure.

svn path=/trunk/; revision=8476
2003-09-15 22:16:08 +00:00
Guy Harris 673e47d4a9 Keep a "display name" as part of a capture_file structure; for live
capture temporary files, it's "<capture", and for saved capture files,
it's the last component of the pathname of the file.  Use that in
various places when displaying the file name.

svn path=/trunk/; revision=8474
2003-09-15 20:37:37 +00:00
Guy Harris 7bfaf8caf3 From Graeme Hewson:
Don't crash if "-z" is used on the command line when a live
	capture is being done (e.g., with "-k -S" - in that case,
	"cfile.filename" is null when the window is created), just don't
	display the file name in the title.

	Don't set the title of a non-existent window - create the window
	first.

svn path=/trunk/; revision=8472
2003-09-15 19:05:01 +00:00
Ronnie Sahlberg b0bec4d79a When putting the filename in the titlebar
just put the filename there and not the full path to the file.

svn path=/trunk/; revision=8329
2003-09-02 08:27:43 +00:00
Ronnie Sahlberg cd016e69a9 Update to IO-Stat to put the capture filename on the titlebar
to make it easier to navigate when having multiple instances of ethereal
and io-stat open
at the same time.

Updates to all endpoint talkers and service response time windows to do this as well.

Bonus, when the user opens a new capture file when having these windows open,
the title bar will be updated to reflect the name of the new capture file.

svn path=/trunk/; revision=8251
2003-08-25 11:06:32 +00:00
Guy Harris 1b872b3648 Make "register_tap_listener()" return NULL on success and a "GString *"
referring to a GString containing an error message on failure, and don't
have it print anything on failure.

If it fails, have its Tethereal-tap callers print an error message
before exiting, and have its Ethereal callers pop up a dialog box with
the error (except in cases where the failure is guaranteed not to be the
user's fault, and where we exit, in which case we just print an error
message before we exit).  In all cases, the error message includes the
text of the GString.

Fix a scanf format string in the DCE RPC statistics Ethereal tap, so
that it properly skips the comma before the filter string.

Fix some Ethereal error messages not to say "tethereal".

svn path=/trunk/; revision=7542
2003-04-23 08:20:06 +00:00
Guy Harris 81ebec370d Have "register_tap_menu_item()" create submenus as necessary for a menu
item.

Convert all Ethereal (GUI) taps to use "register_tap_menu_item()" rather
than having hardcoded menu items in "gtk/menu.c".

svn path=/trunk/; revision=7541
2003-04-23 05:37:23 +00:00
Guy Harris 4cfd8b0f36 Allow taps to have menu item registration routines; the menu item
registration routines, for taps with menu items (taps that can be run
from the "Tools->Statistics" menu), create the menu item for the tap.
"make-tapreg-dotc" constructs a "register_all_tap_menus()" function that
calls all the tap menu item registration routines it finds, and Ethereal
calls that routine after the main window has been constructed (so that
the main menu exists, as the menu items are added to it).  (Tethereal
doesn't call it.)

Get rid of the "menu" and "menu_init" arguments to
"register_ethereal_tap"; the menu item is registered in the tap's menu
item registration routine, not in its main registration routine.

Have the RTP GUI tap register its menu item that way, rather than by
having it compiled into "gtk/menu.c".  (We're not ready yet to have taps
whose menu items are under a submenu register themselves in that
fashion, as "register_tap_menu_item()" can't yet create submenus.)

svn path=/trunk/; revision=7540
2003-04-23 03:51:03 +00:00
Guy Harris ff1c297602 "gtk_box_pack_end()" expects a GtkBox, not a GtkContainer, as its first
argument.

svn path=/trunk/; revision=7289
2003-03-05 20:12:04 +00:00
Gerald Combs c0333e2784 Eliminate vertical padding in the IO Stat window.
svn path=/trunk/; revision=7286
2003-03-05 15:54:31 +00:00
Guy Harris f71d13b16e Move the code that associates buttons with filter dialogs, and vice
versa, into "filter_dialog_new()", rather than replicating it in a
couple of routines.

The return value of "display_filter_construct_cb()" isn't used for
anything, it's ignored by most callers and stored but subsequently
ignored by io_stat.c; get rid of the return value, and don't bother
storing it in io_stat.c.

Before destroying a filter dialog box associated with a button being
destroyed, break the association.

Get rid of an unused variable in io_stat.c.

svn path=/trunk/; revision=6931
2003-01-15 05:58:50 +00:00
Guy Harris a2f01014c1 Add a new routine "filter_button_destroy_cb()", and make it the
"destroy" signal handler for any button that pops up a filter; if the
button has a filter dialog box associated with it, it destroys that
dialog box.

Have the routines that create filter dialog boxes asociate the dialog
box with the button that created it, so that if the button is destroyed
the filter dialog box can be destroyed as well, and associate the button
with the dialog box.

This means that if a dialog box has a button to create a filter, we no
longer have to have the destroy handler for the dialog box destroy any
filters - that'll happen when the button in the dialog box is destroyed
as part of the process of destroying the dialog box.

Don't make the "Filter" buttons in the io_stat dialog box insensitive if
there's already a filter dialog box open - we can have more than one
open per dialog box.

svn path=/trunk/; revision=6930
2003-01-15 05:20:19 +00:00
Ronnie Sahlberg 07bcd090fc From Ronald Henderson, when closing IO-Stat window, also close any open Filter dialogs
svn path=/trunk/; revision=6916
2003-01-11 11:10:33 +00:00
Guy Harris 15c6306a3c From Andreas Trauer: dissect the L2TP AVPs Initial Received LCP CONFREQ,
Last Received LCP CONFREQ, Last Sent LCP CONFREQ, and correct some AVP
names.

svn path=/trunk/; revision=6789
2002-12-16 21:18:37 +00:00
Ronnie Sahlberg 2c21b27603 Cosmetic fix for io_stat. make sure that the graph always starts with a line at zero level even if there is no data seen at the beginning of the window.
svn path=/trunk/; revision=6788
2002-12-16 07:11:24 +00:00
Ronnie Sahlberg b1628b5c42 From Ronald Henderson: support for colored graphs in io_stat also for the Gtk1 version.
svn path=/trunk/; revision=6786
2002-12-16 06:44:45 +00:00
Ronnie Sahlberg 834c08904b Fix two compiler warnings
svn path=/trunk/; revision=6748
2002-12-05 22:19:24 +00:00
Guy Harris 293ec59fea From Jason House: MSVC++ doesn't like cases with no statements, so add
break statements.

svn path=/trunk/; revision=6716
2002-12-02 19:44:09 +00:00
Ronnie Sahlberg d5f5ebd79e Updte for io-stat to make it more powerful.
There is not a third option Advanced... in addition to frames/tick and bytes/tick.


See ethereal man page for description and how one can use this to graph how NFS response time MAX/MIN/AVG changes over time.

svn path=/trunk/; revision=6703
2002-11-29 11:37:33 +00:00
Ronnie Sahlberg 8eb275cdb3 put nice io-stat title on the io-stat window
svn path=/trunk/; revision=6661
2002-11-19 08:10:13 +00:00
Ronnie Sahlberg 31f4e6b38f update for gui version of io-stat
the graph now has a scrollbar one can use to scroll the graph window

svn path=/trunk/; revision=6652
2002-11-17 11:43:40 +00:00
Guy Harris cb7215b486 If you include "gtk/gtkglobals.h" before including <ctype.h>, at least
on Windows in my build environment, the definition of "isprint" in
"gtk/gtkglobals.h" causes problems when processing the definition of
"isprint" in <ctype.h>, and, somehow, <ctype.h> appears to get included,
at least in Windows in my build environment, after we include
"gtk/gtkglobals.h" even though we don't include it explicitly.

Include it explicitly, before we include "gtk/gtkglobals.h", so that it
compiles.

svn path=/trunk/; revision=6650
2002-11-16 21:40:32 +00:00
Ronnie Sahlberg 1e41b7480d io-stat. Previously io-stat was hardcoded to calculate the statistics over 1 second intervals. Now there is a menu to control the length of ther measurement intervals from 10ms to 1 sec.
svn path=/trunk/; revision=6646
2002-11-16 11:45:58 +00:00
Olivier Abad 0ec7f232e2 In gtk2 code :
gdk_font_from_description() may return NULL if no GdkFont matching a
PangoFontDescription can be loaded.
Replace primitives using GdkFonts (gdk_string_width, gdk_draw_string)
with their pango equivalent (pango_layout_get_pixel_size,
gdk_draw_layout).

svn path=/trunk/; revision=6639
2002-11-15 22:21:15 +00:00
Ronnie Sahlberg a361b76756 Gtk1 version of io-stat
svn path=/trunk/; revision=6636
2002-11-15 10:55:19 +00:00
Ronnie Sahlberg 76f5391acc Feature for Gtk2: GUI version of IO-STAT. Looks reasonable with one graph. Looks "sub-optimal" with multiple graphs overwriting eachothers.
We can just delete it later if it cant be improved visually.

svn path=/trunk/; revision=6629
2002-11-14 10:32:22 +00:00