json-stream: UDP misleading / bad reporting on end packet
- Dominant language
- C
- Stars
- 8.8k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
### Iper Version
`iperf 3.17.1 (cJSON 1.7.15)`
### Problem
Different key names / different keys in end json. In tcp i see only sum_received / sum_sent. In udp I also see sum key with is not clear for what purpose. Also sender information is mixed in UDP mode.
#### TCP keys
```
$ iperf3 -c spc1 -t1 --json-stream | jq 'select(.event=="end")|.data|keys'
[
"cpu_utilization_percent",
"receiver_tcp_congestion",
"sender_tcp_congestion",
"streams",
"sum_received",
"sum_sent"
]
```
#### UDP keys
```
iperf3 -c spc1 -u -b 2G -t1 --json-stream | jq 'select(.event=="end")|.data|keys'
[
"cpu_utilization_percent",
"streams",
"sum",
"sum_received",
"sum_sent"
]
```
#### TCP sender
```
iperf3 -c spc1 -t1 --json-stream | jq 'select(.event=="end") | .data | {sum: {sender: .sum.sender, bits_per_second: .sum.bits_per_second}, sum_received: {sender: .sum_received.sender, bits_per_second: .sum_received.bits_per_second}, sum_sent: {sender: .sum_sent.sender, bits_per_second: .sum_sent.bits_per_second}}'
{
"sum": {
"sender": null,
"bits_per_second": null
},
"sum_received": {
"sender": true,
"bits_per_second": 1269823821.06185
},
"sum_sent": {
"sender": true,
"bits_per_second": 1296456879.8836708
}
}
```
#### UDP sender
```
iperf3 -c spc1 -t1 -u -b 2G --json-stream | jq 'select(.event=="end") | .data | {sum: {sender: .sum.sender, bits_per_second: .sum.bits_per_second}, sum_received: {sender: .sum_received.sender, bits_per_second: .sum_received.bits_per_second}, sum_sent: {sender: .sum_sent.sender, bits_per_second: .sum_sent.bits_per_second}}'
{
"sum": {
"sender": true,
"bits_per_second": 1997990120.9538348
},
"sum_received": {
"sender": false,
"bits_per_second": 1671880802.3470123
},
"sum_sent": {
"sender": true,
"bits_per_second": 1997990120.9538348
}
}
```
Contributor guide
Assessment
This issue has not been assessed yet.