Skip to content

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

@rytiszig

Description

@rytiszig

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
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions