summaryrefslogtreecommitdiff
path: root/ui/qt/tcp_stream_dialog.h
AgeCommit message (Collapse)AuthorFilesLines
2017-01-22Qt: Add Goodput graph (ACK rate), and minor bug fixesKevin Hogan1-0/+7
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>
2017-01-20Qt: modify RTT graph (handle GSO, SACK, etc), plus bug fixesKevin Hogan1-1/+0
Modifications to RTT graph: - change x-axis to time (s) rather than sequence number [ avoids sequence number wraparound ambiguity, plus easier to correlate RTT changes to tcptrace graph ] - change RTT computation to properly handle acks to GSO packets - change RTT computation to take SACK blocks into account Bug fixes: - eliminate potential memory leak if some packets are unacked - ensure RTT graph is shown if TCPGraph window is opened to it directly Change-Id: I2bdcab97399ebde0f15c78fa19c882529a814580 Reviewed-on: https://code.wireshark.org/review/19662 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>
2017-01-04Qt: add SACK graphs to tcptrace graphKevin Hogan1-2/+22
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>
2016-12-19Qt: minor updates to TCP stream dialog and throughput moving averageKevin Hogan1-1/+10
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>
2015-10-10Qt: Horizontal- and vertical-only zoom modifier keys for IO and TCP Stream ↵Jim Young1-0/+6
graphs. 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>
2015-05-25Fix out of tree buildsGraham Bloice1-1/+1
Stop out of tree builds picking up the in-tree version and config.h Change-Id: Icadc46cab66db72af2d475eac31b28d0ca10df90 Reviewed-on: https://code.wireshark.org/review/8204 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-07-21[WIP] Add a conversation dialog.Gerald Combs1-1/+1
Items are sorted by value. Move common conversation code to ui/conversation_hash.[ch]. Add a conversation_type_e enum along with convenience functions for fetching titles, tap names, etc. We have a single main dialog instead of a main dialog + individual protocol dialogs. It de-clutters the statistics menu and results in simpler code. Conversation type tabs can be added and removed within the dialog itself. The tab list is sticky and saved with the current profile when the dialog closes. Data can be copied as CSV or YAML. Add a FilterAction class and a corresponding filterAction slot to MainWindow. Use it for the Conversations context menu. Add an addressResolutionChanged signal and related plumbing. Get rid of the iterator members in the conversation item struct. Update the GTK+ code accordingly. Excercise for the reader: - Update TShark to use the common hash code. Ping-Bug: 9231 Ping-Bug: 8703 Ping-Bug: 6727 Change-Id: I8728d771fc5b1a85937bed9d898e53c3ecc3a544 Reviewed-on: https://code.wireshark.org/review/2987 Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-03-04Remove all $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^ \* \$Id\$/,+1 d') Fix manually some typo (in export_object_dicom.c and crc16-plain.c) Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8 Reviewed-on: https://code.wireshark.org/review/497 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2013-11-12Sequence / flow diagram updates.Gerald Combs1-1/+1
Add "Save As..." Add a context menu and keyboard shortcuts. Add a tooltip. svn path=/trunk/; revision=53263
2013-09-16Add stream information to the hint label. Update our hint more often.Gerald Combs1-0/+1
Add a "to do" list. svn path=/trunk/; revision=52102
2013-09-13Mis-use error bars to draw segments.Gerald Combs1-0/+1
svn path=/trunk/; revision=52029
2013-09-13More TCP stream graph updates.Gerald Combs1-2/+12
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
2013-09-12Add a context menu to the TCP stream graph which includes all of ourGerald Combs1-0/+22
keyboard shortcuts. svn path=/trunk/; revision=51996
2013-09-12Add previous/next stream navigation to the TCP stream graph dialog.Gerald Combs1-2/+4
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
2013-09-09Add the TCP window scaling graph. Add zoom selections.Gerald Combs1-4/+20
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
2013-09-08Add the TCP RTT graph.Gerald Combs1-1/+4
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
2013-09-07Only add data points to the throughput graph if our time window hasGerald Combs1-0/+1
advanced. Add a reset button. svn path=/trunk/; revision=51811
2013-09-06Throughput graph usability updates.Gerald Combs1-2/+3
Make the stream graph dialog modeless and let the user open multiple instances. The dangling dialog behaves similar to the GTK+ version. Add a setDissectedCaptureFile signal to MainWindow (currently unused). Properly transform yAxis2 and simplify resetAxes while we're at it. Other bug fixes. svn path=/trunk/; revision=51795
2013-09-04Throughput graph updates.Gerald Combs1-1/+15
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
2013-08-30Implement "Save As..." in the TCP stream graph dialog. We currentlyGerald Combs1-0/+1
support PDF, PNG, BMP, and JPEG. svn path=/trunk/; revision=51607
2013-08-30Fix an include.Gerald Combs1-1/+1
svn path=/trunk/; revision=51605
2013-08-30Add an item tracer to the TCP stream graph. Enable packet selection.Gerald Combs1-0/+15
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
2013-08-27Add initial mouse and keyboard controls. QCustomPlot uses differentGerald Combs1-0/+4
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
2013-08-27Add TCP sequence number (Stevens-style) graphs.Gerald Combs1-0/+70
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