esnet / esnet/iperf

json-stream: UDP misleading / bad reporting on end packet

Open
#1,784 6 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.