- Fixed DataTable row selection and event handling - Added explicit column keys to prevent auto-generated keys - Implemented row-to-flow mapping for reliable selection tracking - Converted left metrics panel to horizontal top bar - Fixed all missing FlowStats/EnhancedAnalysisData attributes - Created comprehensive Textual API documentation in Documentation/textual/ - Added validation checklist to prevent future API mismatches - Preserved cursor position during data refreshes - Fixed RowKey type handling and event names The TUI now properly handles flow selection, displays metrics in a compact top bar, and correctly correlates selected rows with the details pane.
3.3 KiB
3.3 KiB
Modern TUI Column Layout Example
Flow Analysis View (View 1)
The new column layout separates transport and extended protocols for clearer flow analysis:
# Source Proto Destination Extended Frame Type Pkts Volume Timing Quality
1 192.168.4.89:1024 UDP 239.1.2.10:8080 3 types Mixed 1452 1.9MB 77.8ms Enhanced
CH10 CH10-Data 1110 1.44MB 102ms 76.4%
CH10 TMATS 114 148KB 990ms 7.8%
UDP 228 296KB 493ms 15.7%
2 11.59.19.204:319 UDP 224.0.1.129:319 3 types Mixed 297 26.8KB 378.4ms Normal
PTP PTP-Signaling 226 20.4KB 498ms 76.1%
PTP PTP-Sync 57 6.1KB 2.0s 19.2%
PTP PTP-Unknown 14 1.5KB 7.5s 4.7%
3 11.59.19.202:4001 UDP 239.0.1.133:4001 1 types Single 113 17.4KB 999.4ms Normal
UDP 113 17.4KB 999ms 100.0%
Key Improvements
- Hierarchical Flow Display: Each flow shows a summary line followed by detailed sub-rows
- Transport Protocol Clarity: Proto column shows TCP, UDP, ICMP, IGMP, OTHER on main flow line
- Extended Protocol/Frame Breakdown: Sub-rows show each distinct extended protocol and frame type combination
- Detailed Packet Accounting: Each sub-row shows packet count, volume, timing, and percentage for that specific type
- Visual Hierarchy: Main flow line in bold, sub-rows indented and dimmed for clarity
- Complete Protocol Analysis: See exactly what protocols and frame types comprise each flow
Flow Structure
Main Flow Line (Bold)
- Shows flow summary with source, transport protocol, destination
- Extended column shows "X types" indicating number of protocol/frame combinations
- Frame Type column shows "Mixed" or "Single" to indicate complexity
- Metrics show totals for entire flow
Sub-Rows (Indented, Dimmed)
- Each sub-row represents a distinct extended protocol + frame type combination
- Source, Proto, Destination columns are empty (inherited from main flow)
- Extended column shows specific protocol (CH10, PTP, IENA, etc.)
- Frame Type shows specific frame type (CH10-Data, PTP-Sync, UDP, etc.)
- Metrics show counts, volume, timing, and percentage for that specific combination
Column Widths
- Source: 20 characters (left-aligned) - IP:port format (main flow only)
- Proto: 6 characters (left-aligned) - Transport protocol (main flow only)
- Destination: 20 characters (left-aligned) - IP:port format (main flow only)
- Extended: 10 characters (left-aligned) - Specialized protocol or summary
- Frame Type: 12 characters (left-aligned) - Specific frame type or summary
- Pkts: 6 characters (right-aligned) - Packet count
- Volume: 8 characters (right-aligned) - Data volume with units
- Timing: 8 characters (right-aligned) - Average inter-arrival time
- Quality: 8 characters (right-aligned) - Quality/percentage
This hierarchical layout provides complete protocol breakdown while maintaining clear visual flow structure.