#836·iperf

Upstream receiver end intervals reporting wrong seconds value

Author: FuzzyStaticCreated Jan 10, 2019Updated Jul 2, 2026
Labelsbug

Context

  • Version of iperf3: 3.6

  • Hardware: MacBookPro

  • Operating system (and distribution, if any): macOS

Bug Report

  • Expected Behavior

The end streams receiver seconds should be receiver end time - receiver start time.

  • Actual Behavior

It looks like the receiver seconds is reporting the sender's seconds. This bug does not look like it impacts results.

  • Steps to Reproduce

Run an upstream test and look at the end stream JSON.

"end":  {
                "streams":      [{
                                "sender":       {
                                        "socket":       8,
                                        "start":        0,
                                        "end":  8.00232195854187,
                                        "seconds":      8.00232195854187,
                                        "bytes":        17896104,
                                        "bits_per_second":      17890911.255723491
                                },
                                "receiver":     {
                                        "socket":       8,
                                        "start":        0,
                                        "end":  8.113577127456665, // <-- this should be the seconds for receiver
                                        "seconds":      8.00232195854187, // <-- incorrect, but also same as sender's
                                        "bytes":        17413648,
                                        "bits_per_second":      17169884.726746753
                                }
                        }, {
                                "sender":       {
                                        "socket":       18,
                                        "start":        0,
                                        "end":  8.00232195854187, 
                                        "seconds":      8.00232195854187,
                                        "bytes":        24251592,
                                        "bits_per_second":      24244555.143511336
                                },
                                "receiver":     {
                                        "socket":       18,
                                        "start":        0,
                                        "end":  8.113577127456665, // <-- this should be the seconds for receiver
                                        "seconds":      8.00232195854187, // <-- incorrect, but also same as sender's
                                        "bytes":        23638600,
                                        "bits_per_second":      23307697.336116809
                                }
                        }],
                "sum_sent":     {
                        "start":        0,
                        "end":  8.00232195854187,
                        "seconds":      8.00232195854187,
                        "bytes":        42147696,
                        "bits_per_second":      42135466.399234824
                },
                "sum_received": {
                        "start":        0,
                        "end":  8.113577127456665,
                        "seconds":      8.113577127456665,
                        "bytes":        41052248,
                        "bits_per_second":      40477582.062863566
                },
                "cpu_utilization_percent":      {
                        "host_total":   6.3741933515607068,
                        "host_user":    1.589532044632852,
                        "host_system":  4.7846492005427539,
                        "remote_total": 5.0273987385438152,
                        "remote_user":  0.65463746550824486,
                        "remote_system":        4.5122774338426481
                },
                "receiver_tcp_congestion":      "cubic"
        }