Srivats P
b296c5fddd
Check duration > 0 before calculating stream rates
...
Avoid divide by zero error and/or inf/nan values
2022-06-22 12:56:07 +05:30
Srivats P
5e7bf77b0c
Merge pull request #350 from pstavirs/streamrates
...
Add average rate per GUID in stream statistics
2022-06-20 17:27:24 +05:30
Srivats P
a1d985e44b
Show stream stats in GUI sorted by GUID
2022-06-16 18:14:23 +05:30
Srivats P
b8d5d9421f
Show Duration 'n rates in stream stats by default
...
Port Pkt stats are no longer shown by default. To see them and byte
counters, use context menu option - "Show details" (renamed from the
existing "Show Byte counters")
2022-06-16 14:46:18 +05:30
Srivats P
2868806f3f
GUI side changes for displaying stream rates
...
At the moment, the Tx duration for a GUID is taken to be the largest of
all tx duration for that GUID across all ports. In the future, we may
consider changing it to average instead of largest.
2022-06-16 12:30:13 +05:30
Srivats P
ccf5b5ca47
Add a few asserts to debug GUI client crash
...
The crash seems to happen in the following scenario -
* Ostinato and drone are both running (with some devices/streams)
* Kill and restart drone
* Wait for GUI to reconnect to drone
* Click on one of the ports in the port list
2022-06-09 20:32:22 +05:30
Srivats P
c03038167c
Initiate ARP/NDP resolve during session open
...
The current implementation won't work for all cases. See the notes added
in the code.
Updates #311
2022-06-09 20:30:42 +05:30
Srivats P
26d0c8ab9c
Skip not-included fields in variable fields list
...
Optional protocol fields not included in the packet have bitSize = 0
2022-05-23 13:31:01 +05:30
Benjamin
9d4aaa4f7b
Update portstatswindow.ui
2022-04-16 19:14:44 +02:00
Srivats P
7374c74b95
Increase default width of port list pane
...
The list and detail panes were currently set to 1:2, so that the list
pane is 1/3rd the width. But for some reason it is not working like I
expect it to work. Setting it 1:1 looks better.
2022-02-12 19:26:18 +05:30
Srivats P
6f433bb7a1
Move View menu immediately after Edit menu
...
This seems to be the convention and also recommended by MacOS HIG
2022-02-11 18:34:06 +05:30
Srivats P
2ee19da15c
Add Stream and Device menus to main window menu bar
...
Stream and Device related actions from the File menu has been moved
under these new menus
2022-02-11 18:09:30 +05:30
Srivats P
22b8c405f7
Use palette colors for stream stats
...
Using harcoded colors leads to unexpected results in dark mode.
2022-02-11 11:37:03 +05:30
Srivats P
2ce7f0c7a0
Disconnect portgroup before removing from list
...
Disconnecting _during_ remove sometimes causes crash because disconnect
triggers the logs window alert which **can** lead to repainting of
other windows which access port groups which have not been synced after
the removal of one or more portgroups.
Also emit endRemoveRows after each portgroup so that begin/end signals
match.
2022-02-10 20:34:10 +05:30
Srivats P
041f500e65
Avoid crash at GUI start up
...
The crash can happen before mainWindow is allocated. Don't remember how
that happens, but I have seen it happen!
2022-02-09 21:30:51 +05:30
Srivats P
7dd070fd98
Fix packet dump view bg color when using dark theme
...
Qt already paints the background before calling the paint event, so we
don't need to repaint it.
2022-02-07 21:44:40 +05:30
Srivats P
ac52844b3f
Don't stretch stream config simple protocols widget
...
Only avoid the vertical stretch by adding a spacer, let horizontal still
stretch
2022-02-05 21:22:32 +05:30
Srivats P
341d0c3be8
Install themes as part of 'make install'
...
Tested only on Windows; pending on MacOS/Linux
2022-01-30 13:13:20 +05:30
Srivats P
6534312968
Look for themes in different locations on Mac/Unix
...
Not tested yet - since I'm coding this currently on Windows
2022-01-30 12:15:17 +05:30
Srivats P
a089cc1751
Update material themes and add qds themes
2022-01-29 12:24:08 +05:30
Srivats P
0587e22de9
Add theme-manager and qt-material themes
2021-12-24 21:36:14 +05:30
Srivats P
5045b7f273
Update preferences.ui as per recent QtDesigner
...
No changes to the form - .ui file changes only because QtDesigner
generates the .ui file differently
2021-12-19 14:16:23 +05:30
Srivats P
db226d7069
Fix build break due to typo in #include files
2021-12-16 17:49:01 +05:30
Srivats P
f28e236276
Ensure mandatory fields to enable find-replace OK button
2021-12-15 21:28:52 +05:30
Srivats P
9208423372
Tweak find-replace UI
...
* matchAny op correctly hides findValue/findMask widgets
* reorder widgets in the .ui file as per their actual appearance
* remove tab order since the above reorder also fixes tab order
* fix stretch factors so that UI redering doesn't change too much when
things are checked/unchecked
2021-12-12 10:52:43 +05:30
Srivats P
16b353ae30
Alloc/free Pcap import options dialog every time
...
The earlier code was trying to reuse the dialog but this was throwing
an unexpected error every time -
External WM_DESTROY received for QWidgetWindow
This commit fixes this error message
2021-12-11 21:13:15 +05:30
Srivats P
b8a0de377a
Add find-replace preview as a TODO item
2021-12-11 16:18:38 +05:30
Srivats P
4aedc61c8e
Use uint64 for find/replace QVariant instead of string
2021-12-11 15:57:02 +05:30
Srivats P
f0c7ef50f7
Rename FieldEdit::setMask as FieldEdit::setMaskMode
2021-12-11 13:40:44 +05:30
Srivats P
975ce8093d
Remove find-replace progress bar TODO as it's done
2021-12-11 13:01:31 +05:30
Srivats P
fb91a094fc
Show find-replace progress bar
2021-12-11 12:36:33 +05:30
Srivats P
a7aa93b9e9
Show affected field and stream count post replace
2021-12-09 10:14:47 +05:30
Srivats P
c1610f4c99
Derive field max from bitSize instead of saving it
2021-12-09 09:52:42 +05:30
Srivats P
dc7ac89c30
Verify find/replace mask works for all field types
2021-12-09 08:26:35 +05:30
Srivats P
4c6d8f35d6
Verify and fix Ip6Address type field edit
2021-12-08 21:36:39 +05:30
Srivats P
2eab3daa2f
Set placeholder text for field edit types uint/mac
2021-12-06 21:14:38 +05:30
Srivats P
7cf9c91014
Verify and fix Ip4Address type field edit
2021-12-06 20:56:40 +05:30
Srivats P
9385b31bc5
Verify and fix MacAddress type field edit
...
Use QRegularExpression instead of QRegExp as the latter is deprecated in
Qt6
2021-12-05 12:09:02 +05:30
Srivats P
d3400f0897
Validate find-replace value based on field type
...
Only kUInt64 type has been verified for this commit.
Others are pending.
2021-12-04 12:17:37 +05:30
Srivats P
b60aad45d1
Implement find-replace logic for fields <= 64 bits
2021-12-03 19:01:32 +05:30
Srivats P
e19083ed3f
Fleshed out some of the find-replace code
2021-11-27 22:13:55 +05:30
Srivats P
990c13e67a
Add Find & Replace UI with skeletal code
2021-11-26 22:30:45 +05:30
Srivats P
a1c165b7b3
Fix MacOS build break
2021-11-17 18:39:14 +05:30
Srivats P
f731b48676
Allow k/m units as input to port pps/bps
...
Also,
* Revert to old value if new input is not valid
* Refactored auto calc and display of rate to XLocale
2021-11-11 21:38:57 +05:30
Srivats P
910fccbfc6
Change port bit rate display unit automatically
...
This is for user convenience and easier comprehension
2021-11-10 19:22:49 +05:30
Srivats P
27e853e6e8
Reduce UI width of load % input box
2021-11-09 22:21:12 +05:30
Srivats P
dd7f4a6fd0
Add load % as an input for port rate
2021-11-07 19:05:11 +05:30
Srivats P
14993073fe
Extract portWidget from streamsWidget
2021-11-06 19:18:48 +05:30
Srivats P
295fc93e7b
Prepare to extract portWidget from streamsWidget
2021-11-05 15:32:23 +05:30
Srivats P
0a825a0aa3
Extract streamsWidget code out of portsWindow
...
All functionality seems to be working, so hopefully no regressions!
It does appear to me that portWidget can be extracted out of
streamsWidget
2021-11-05 15:27:37 +05:30