Files
StreamLens/COLUMN_LAYOUT_EXAMPLE.md
noisedestroyers 36a576dc2c Enhanced Textual TUI with proper API usage and documentation
- 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.
2025-07-27 18:37:55 -04:00

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

  1. Hierarchical Flow Display: Each flow shows a summary line followed by detailed sub-rows
  2. Transport Protocol Clarity: Proto column shows TCP, UDP, ICMP, IGMP, OTHER on main flow line
  3. Extended Protocol/Frame Breakdown: Sub-rows show each distinct extended protocol and frame type combination
  4. Detailed Packet Accounting: Each sub-row shows packet count, volume, timing, and percentage for that specific type
  5. Visual Hierarchy: Main flow line in bold, sub-rows indented and dimmed for clarity
  6. 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.