On Mon, Nov 28, 2016 at 2:07 AM, Yuchung Cheng <ych...@google.com> wrote: > From: Francis Yan <francisy...@gmail.com> > > This patch implements the skeleton of the TCP chronograph > instrumentation on sender side limits: > > 1) idle (unspec) > 2) busy sending data other than 3-4 below > 3) rwnd-limited > 4) sndbuf-limited > > The limits are enumerated 'tcp_chrono'. Since a connection in > theory can idle forever, we do not track the actual length of this > uninteresting idle period. For the rest we track how long the sender > spends in each limit. At any point during the life time of a > connection, the sender must be in one of the four states. > > If there are multiple conditions worthy of tracking in a chronograph > then the highest priority enum takes precedence over > the other conditions. So that if something "more interesting" > starts happening, stop the previous chrono and start a new one. > > The time unit is jiffy(u32) in order to save space in tcp_sock. > This implies application must sample the stats no longer than every > 49 days of 1ms jiffy. > > Signed-off-by: Francis Yan <francisy...@gmail.com> > Signed-off-by: Yuchung Cheng <ych...@google.com> > Signed-off-by: Soheil Hassas Yeganeh <soh...@google.com> > ---
Acked-by: Neal Cardwell <ncardw...@google.com> neal