Files
StreamLens/COLUMN_ALIGNMENT_VALIDATION.md

78 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

# Column Alignment Validation
## Expected Column Alignment
The following shows the exact character positions for column alignment:
```
Position: 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
Header: # Source Proto Destination Extended Frame Type Pkts Volume Timing Quality
Flow: 1 192.168.4.89:1024 UDP 239.1.2.10:8080 3 types Mixed 1452 1.9MB 77.8ms Enhanced
Sub-row: CH10 CH10-Data 1110 1.44MB 102ms 76.4%
Sub-row: CH10 TMATS 114 148KB 990ms 7.8%
Sub-row: UDP 228 296KB 493ms 15.7%
```
### Right-Aligned Column Validation
The following columns should align on their right edges:
- **Pkts**: Right edge at position 77
- **Volume**: Right edge at position 85
- **Timing**: Right edge at position 93
- **Quality**: Right edge at position 101
Example with proper right alignment:
```
Pkts Column (6 chars, right-aligned):
1452
1110
114
228
Volume Column (8 chars, right-aligned):
1.9MB
1.44MB
148KB
296KB
Timing Column (8 chars, right-aligned):
77.8ms
102ms
990ms
493ms
Quality Column (8 chars, right-aligned):
Enhanced
76.4%
7.8%
15.7%
```
## Column Specifications
1. **Flow Number**: Positions 1-3 (right-aligned in 2 chars + 1 space)
2. **Source**: Positions 4-23 (20 characters, left-aligned)
3. **Proto**: Positions 24-29 (6 characters, left-aligned)
4. **Destination**: Positions 30-49 (20 characters, left-aligned)
5. **Extended**: Positions 50-59 (10 characters, left-aligned)
6. **Frame Type**: Positions 60-71 (12 characters, left-aligned)
7. **Pkts**: Positions 72-77 (6 characters, right-aligned)
8. **Volume**: Positions 78-85 (8 characters, right-aligned)
9. **Timing**: Positions 86-93 (8 characters, right-aligned)
10. **Quality**: Positions 94-101 (8 characters, right-aligned)
## Sub-Row Alignment
Sub-rows use:
- Positions 1-3: Empty spaces (matching flow number space)
- Positions 4-23: Empty (inherits source from main flow)
- Positions 24-29: Empty (inherits protocol from main flow)
- Positions 30-49: Empty (inherits destination from main flow)
- Positions 50-59: Extended protocol
- Positions 60-71: Frame type
- Positions 72-77: Packet count (right-aligned)
- Positions 78-85: Volume (right-aligned)
- Positions 86-93: Timing (right-aligned)
- Positions 94-101: Percentage (right-aligned)
This ensures perfect column alignment between main flow lines and their sub-rows.