google / neper

neper is a Linux networking performance tool.
Apache License 2.0
293 stars 72 forks source link

flent netperf replacement? #39

Open dtaht opened 1 year ago

dtaht commented 1 year ago

this almost seems to have the subset of netperf features https://github.com/tohojo/flent

can it sample the stats like tcp_info?

wdebruij commented 1 year ago

Neper does not call getsockopt TCP_INFO, but reporting and aggregating those stats sounds like a useful extension.

Which specific fields of struct tcp_info are you interested in?

dtaht commented 1 year ago

the way measurement labs does it is it just grabs all of them and post-processes. More fields are added with nearly every kernel release, although i think that has slowed down a lot. I care about ecn_seen, rtt, loss, retransmits, primarily.

wdebruij commented 1 year ago

Got it. That sounds like a useful addition. No promises when we'll get to it, but I'll add it to the list.

rjmcmahon commented 1 year ago

iperf 2 uses the following

stats->cwnd = tcp_info_buf.tcpi_snd_cwnd * tcp_info_buf.tcpi_snd_mss / 1024;
stats->rtt = tcp_info_buf.tcpi_rtt;
stats->rttvar = tcp_info_buf.tcpi_rttvar;
stats->retry_tot = tcp_info_buf.tcpi_total_retrans;
stats->mss_negotiated = tcp_info_buf.tcpi_snd_mss;
wdebruij commented 1 year ago

Thanks, Bob! We'll aim for at least feature parity. This is on our radar.