Adds a checkbox to the TCP Stream Dialog's "Round-trip-time"
graph tab that allows user to choose sequence number
on the x-axis rather than time.
Bug: 13740
Change-Id: Iaf881318437c7eecd16cf6c1f8745283ce9b4a7d
Reviewed-on: https://code.wireshark.org/review/23376
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Following the move for widgets directory, moving utils
to the utils directory. Guidelines for this directory are:
- Generic use but not a widget
- Utility functionality used by many classes
Note: additionally all includes affected by this move have been changed
to absolute path includes, instead of relative ones.
Change-Id: I019ae4b6e6f6d06a5745a63ed195edbd36fb936b
Reviewed-on: https://code.wireshark.org/review/22602
Petri-Dish: Roland Knall <rknall@gmail.com>
Reviewed-by: Roland Knall <rknall@gmail.com>
Add Goodput graph:
- measures rate of ACKed bytes (including SACKed bytes)
- useful to compare to throughput during slow-start to estimate
bottleneck rate
Add graph selection checkboxes to multi-plot graphs:
- most important for Throughput, since there are good cases
for showing a subset of graphs at once
- also added for Window Scale, since the addition is similar
to that for Throughput
Minor bug fixes:
- allow zoom rect to work when growing in any direction
(not just right and up)
- keep stray mouse clicks from re-doing a previous zoom
- hide rubber band if active when keypress changes mouse mode
to drag
- allow mouse clicks on open space or grpah to return to default focus
(i.e. focus on graph)
Change-Id: Id29356ceec810ebdbed9c3c0d8415416401fe643
Reviewed-on: https://code.wireshark.org/review/19718
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Primarily, this adds visual indication of SACK blocks to tcptrace.
In addition:
- cleaned up focus behavior for graph selector and spinboxes
- added time-delay update to streamNumber spinBox
(similar to behavior of maWindow spinBox)
- changed ACK selection to select only SACKed responses
(rather than all ACKs - SACKs seemed more useful to look at)
Change-Id: I47d9e98d54f14e4955008ecea791b77f805c8ba9
Reviewed-on: https://code.wireshark.org/review/19388
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
The time-based moving average code should use a constant window size
as the denominator when calculating throughput.
Added QDoubleSpinbox widget to choose the time-based moving average size.
Also added (optional) ability to select ACK (reverse) packets as well as data
packets when clicking on the base graph.
(useful, for example, when examining SACK or DSACK packets)
Added CheckBox widget (with tooltip) for user to choose ACK selection
Change-Id: Ib3ba4f9be9e30aa8f3088b0b2d48b4ca214f7cc3
Reviewed-on: https://code.wireshark.org/review/19108
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Without this, a long hint string (like a wrong protocol name in the SSL UAT preference) will resize the window to match the string.
With this change, instead the hintLabel string is continuing on a new line to match currently configured window size
Change-Id: Ib8fcc7bd96585717f122b0921165c4d916442cb0
Reviewed-on: https://code.wireshark.org/review/11529
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Use lower case "x" or upper case "X" (Shift-X) to zoom in or out respectively only
the horizontal (X) axis. Use lower case "y" or upper case "Y" (Shift-Y) to zoom
in or out respectively only the vertical (Y) axis.
Change-Id: I2f4de3c81795c289a626cc917d46ec0b1d620f49
Reviewed-on: https://code.wireshark.org/review/10894
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Scan our segment list (and the capture file) once per stream. Switch the
stream selection control to a QSpinBox. Add graph type selection
actions. The context menu + shortcuts should now be complete. Add the
intitial tcptrace graph. Only ACKs and RWINs so far. A bunch of other
updates and fixes.
svn path=/trunk/; revision=52027
Add get_tcp_stream_count() to the TCP dissector and modify
graph_segment_list_get() to allow matching based solely on a stream.
Use text instead of icons for the mouse click behavior buttons. Remove
their PNG resources since we aren't using them any more. Fix setting the
cursor in the graph widget.
svn path=/trunk/; revision=51989
Rename some methods. Add the ability to toggle time and sequence number
origins. Add more keyboard shortcuts. Comment out abs_secs abs_usecs in
the segment struct since it looks like we aren't using them. Make sure
we stay in the same TCP stream.
svn path=/trunk/; revision=51856
Show the time values in ms instead of s. Add a button and keyboard
shortcut to switch the connection direction. Move more code to
tap-tcp-stream.c. Update our axis labels.
svn path=/trunk/; revision=51832
GTK+: Fix what appears to be an off-by-one error in the MA period (21
segments instead of 20). Throw away our initial segment length instead
of subtracting it from the moving sum, which skews the sum.
Qt: Add the througput graph. Use bits/s for the throughput y axis. Let
the user switch between graph types. The dialog hangs when doing this. I
haven't been able to track down the cause. Remove some unused code.
Both: Tell the user that we're using a 20 segment moving average. Move
more routines to tap-tcp-stream.[ch].
svn path=/trunk/; revision=51759
QCustomPlot data sets are made up of keys (x axis by default) and values
(y axis). It looks like we can have multiple values for a given key
(i.e. we can show multiple sequence numbers for a given timestamp) but
QCPItemTracers can only be positioned by a key and not a key+value pair.
This makes our graph selection behavior a bit different compared to the
GTK+ version. We can only select one segment for a give timestamp but
our selection targets are much larger (the height of the graph).
Add a map for segment data so we don't have to iterate to find them. Use
UTF8_RIGHTWARDS_ARROW where appropriate. Set a window title. Tell the
user what will happen if he or she clicks. Disable graph selection.
svn path=/trunk/; revision=51604
mouse interactions than the GTK+ version, but they seem to match modern
UI conventions better. The keyboard shortcuts have been changed to match
modern UI conventions as well, but I'll try to support the old shortcuts
as much as possible.
svn path=/trunk/; revision=51554
Add the QCustomPlot widget. Thanks to Emanuel Eichhammer for granting a
license change. Move some common code from ui/gtk/tcp_graph.c to
ui/tap-tcp-stream.[ch]. Get rid of tcp_graph_selected_packet_enabled().
It was only used in the menu code and didn't match what we were doing
elsewhere.
Still quite a bit of work to do but it's a promising start.
svn path=/trunk/; revision=51538