freebsd-skq/sys/netinet
Randall Stewart e854dd38ac An important statistic in determining if a server process (or client) is being delayed
is to know the time to first byte in and time to first byte out. Currently we
have no way to know these all we have is t_starttime. That (t_starttime) tells us
what time the 3 way handshake completed. We don't know when the first
request came in or how quickly we responded. Nor from a client perspective
do we know how long from when we sent out the first byte before the
server responded.

This small change adds the ability to track the TTFB's. This will show up in
BB logging which then can be pulled for later analysis. Note that currently
the tracking is via the ticks variable of all three variables. This provides
a very rough estimate (hz=1000 its 1ms). A follow-on set of work will be
to change all three of these values into something with a much finer resolution
(either microseconds or nanoseconds), though we may want to make the resolution
configurable so that on lower powered machines we could still use the much
cheaper ticks variable.

Sponsored by:	Netflix Inc.
Differential Revision:	https://reviews.freebsd.org/D24902
2020-06-08 11:48:07 +00:00
..
cc DCTCP: update alpha only once after loss recovery. 2020-05-21 21:42:49 +00:00
khelp
libalias libalias: retire cuseeme support 2020-05-16 02:29:10 +00:00
netdump Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_stacks An important statistic in determining if a server process (or client) is being delayed 2020-06-08 11:48:07 +00:00
accf_data.c Define a module version for accept filter modules. 2020-05-19 18:35:08 +00:00
accf_dns.c Define a module version for accept filter modules. 2020-05-19 18:35:08 +00:00
accf_http.c Define a module version for accept filter modules. 2020-05-19 18:35:08 +00:00
icmp6.h Convert IP/IPv6 forwarding, ICMP processing and IP PCB laddr selection to 2020-04-14 23:06:25 +00:00
icmp_var.h
if_ether.c Use interface fib for proxyarp checks. 2020-04-02 20:06:37 +00:00
if_ether.h Retire arpresolve_addr(), which is not used anywhere, from if_ether.c. 2018-11-17 16:08:36 +00:00
igmp_var.h
igmp.c Fix an issue of net.inet.igmp.stats handler. 2020-03-07 08:41:10 +00:00
igmp.h
in_cksum.c
in_debug.c
in_fib.c Move <add|del|change>_route() functions to route_ctl.c in preparation of 2020-05-23 19:06:57 +00:00
in_fib.h Convert debugnet to the new routing KPI. 2020-04-26 18:42:38 +00:00
in_gif.c Switch gif(4) path verification to fib[46]_check_urfp(). 2020-05-28 07:26:18 +00:00
in_jail.c
in_kdtrace.c Separate out SCTP related dtrace code. 2019-10-14 20:32:11 +00:00
in_kdtrace.h Separate out SCTP related dtrace code. 2019-10-14 20:32:11 +00:00
in_mcast.c Remove the "config" taskqgroup and its KPIs. 2020-03-30 14:24:03 +00:00
in_pcb.c Fix NULL-pointer bug from r361228. 2020-05-19 01:05:13 +00:00
in_pcb.h Allow TCP to reuse local port with different destinations 2020-05-18 22:53:12 +00:00
in_pcbgroup.c
in_prot.c
in_proto.c Avoid calling protocol drain routines more than once per reclamation event. 2020-04-16 20:17:24 +00:00
in_rmx.c * Add rib_<add|del|change>_route() functions to manipulate the routing table. 2020-06-01 20:49:42 +00:00
in_rss.c
in_rss.h
in_systm.h
in_var.h Eliminate now-unused parts of old routing KPI. 2020-04-28 07:25:34 +00:00
in.c White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
in.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
ip6.h Remove stale definitions. The removed definitions are not used right 2020-03-01 12:34:27 +00:00
ip_carp.c carp: Widen epoch coverage 2020-04-12 16:09:21 +00:00
ip_carp.h carp: replace caddr_t with char * 2019-12-06 16:35:48 +00:00
ip_divert.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
ip_divert.h
ip_dummynet.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
ip_ecn.c
ip_ecn.h
ip_encap.c Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
ip_encap.h Add KPI that can be used by tunneling interfaces to handle IP addresses 2018-10-21 17:55:26 +00:00
ip_fastfwd.c Convert IP/IPv6 forwarding, ICMP processing and IP PCB laddr selection to 2020-04-14 23:06:25 +00:00
ip_fw.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
ip_gre.c Introduce NET_EPOCH_CALL() macro and use it everywhere where we free 2020-01-15 06:05:20 +00:00
ip_icmp.c * Add rib_<add|del|change>_route() functions to manipulate the routing table. 2020-06-01 20:49:42 +00:00
ip_icmp.h
ip_id.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
ip_input.c Convert rtalloc_mpath_fib() users to the new KPI. 2020-04-28 08:06:56 +00:00
ip_mroute.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
ip_mroute.h
ip_options.c White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
ip_options.h
ip_output.c Switch ip_output/icmp_reflect rt lookup calls with fib4_lookup. 2020-05-28 07:31:53 +00:00
ip_reass.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
ip_var.h This commit adds BBR (Bottleneck Bandwidth and RTT) congestion control. This 2019-09-24 18:18:11 +00:00
ip.h
pim_var.h
pim.h
raw_ip.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
sctp_asconf.c Replace snprintf() by SCTP_SNPRINTF() and let SCTP_SNPRINTF() map 2020-05-19 07:23:35 +00:00
sctp_asconf.h Consistently provide arguments for timer start and stop routines. 2020-03-19 21:01:16 +00:00
sctp_auth.c Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctp_auth.h
sctp_bsd_addr.c Remove unused function. 2020-02-18 19:41:55 +00:00
sctp_bsd_addr.h Use an event handler to notify the SCTP about IP address changes 2019-10-13 18:17:08 +00:00
sctp_cc_functions.c Handle integer overflows correctly when converting msecs and secs to 2020-03-28 20:25:45 +00:00
sctp_constants.h Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctp_crc32.c When the IP layer calls back into the SCTP layer to perform the SCTP 2019-09-15 18:29:45 +00:00
sctp_crc32.h
sctp_header.h
sctp_indata.c Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctp_indata.h Ensure that an stcb is not dereferenced when it is about to be 2020-05-16 19:26:39 +00:00
sctp_input.c Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctp_input.h
sctp_kdtrace.c Separate out SCTP related dtrace code. 2019-10-14 20:32:11 +00:00
sctp_kdtrace.h Separate out SCTP related dtrace code. 2019-10-14 20:32:11 +00:00
sctp_lock_bsd.h Cleanup the file and add two ASSERT variants for locks, which will be 2020-03-23 12:17:13 +00:00
sctp_os_bsd.h Replace snprintf() by SCTP_SNPRINTF() and let SCTP_SNPRINTF() map 2020-05-19 07:23:35 +00:00
sctp_os.h Non-functional changes due to cleanup (upstream removing of Panda support) 2020-06-06 18:20:09 +00:00
sctp_output.c Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctp_output.h Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctp_pcb.c Fix typo in comment. 2020-06-06 21:26:34 +00:00
sctp_pcb.h Some more uint32_t cleanups, no functional change. 2020-03-27 21:48:52 +00:00
sctp_peeloff.c
sctp_peeloff.h
sctp_ss_functions.c Fix the non-default stream schedulers such that do not interleave 2020-02-17 18:05:03 +00:00
sctp_structs.h Convert route caching to nexthop caching. 2020-04-25 09:06:11 +00:00
sctp_syscalls.c sctp: use new capsicum helpers 2020-02-15 01:29:40 +00:00
sctp_sysctl.c Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctp_sysctl.h Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctp_timer.c Ensure that we have a path when starting the T3 RXT timer. 2020-05-10 17:19:19 +00:00
sctp_timer.h More timer cleanups, no functional change. 2020-03-21 16:12:19 +00:00
sctp_uio.h
sctp_usrreq.c Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctp_var.h Convert route caching to nexthop caching. 2020-04-25 09:06:11 +00:00
sctp.h Make the message size limit used for SCTP_SENDALL configurable via 2020-01-04 20:33:12 +00:00
sctputil.c Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
sctputil.h Retire SCTP_SO_LOCK_TESTING. 2020-06-07 14:39:20 +00:00
siftr.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_debug.c
tcp_debug.h
tcp_fastopen.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_fastopen.h
tcp_fsm.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
tcp_hostcache.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_hostcache.h
tcp_hpts.c tcp_hpts: make RSS kernel compile again. 2020-03-03 14:15:30 +00:00
tcp_hpts.h Whitespace, remove from three files trailing white 2020-02-12 13:07:09 +00:00
tcp_input.c An important statistic in determining if a server process (or client) is being delayed 2020-06-08 11:48:07 +00:00
tcp_log_buf.c An important statistic in determining if a server process (or client) is being delayed 2020-06-08 11:48:07 +00:00
tcp_log_buf.h An important statistic in determining if a server process (or client) is being delayed 2020-06-08 11:48:07 +00:00
tcp_lro.c White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
tcp_lro.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
tcp_offload.c Initial support for kernel offload of TLS receive. 2020-04-27 23:17:19 +00:00
tcp_offload.h Initial support for kernel offload of TLS receive. 2020-04-27 23:17:19 +00:00
tcp_output.c With RFC3168 ECN, CWR SHOULD only be sent with new data 2020-05-21 21:33:15 +00:00
tcp_pcap.c Step 4.2: start divorce of M_EXT and M_EXTPG 2020-05-03 00:37:16 +00:00
tcp_pcap.h
tcp_ratelimit.c Fix copyright year and eliminate the obsolete all rights reserved line. 2020-04-08 17:55:45 +00:00
tcp_ratelimit.h Fix copyright year and eliminate the obsolete all rights reserved line. 2020-04-08 17:55:45 +00:00
tcp_reass.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_sack.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_seq.h
tcp_stats.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_subr.c Use fib[46]_lookup() in mtu calculations. 2020-05-28 08:00:08 +00:00
tcp_syncache.c When using automatically generated flow labels and using TCP SYN 2020-03-04 16:41:25 +00:00
tcp_syncache.h Add flags for upcoming patches related to improved ECN handling. 2019-12-31 14:32:48 +00:00
tcp_timer.c Improve the TCP blackhole detection. The principle is to reduce the 2020-04-14 16:35:05 +00:00
tcp_timer.h Reduce default TCP delayed ACK timeout to 40ms. 2020-04-16 15:59:23 +00:00
tcp_timewait.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tcp_usrreq.c An important statistic in determining if a server process (or client) is being delayed 2020-06-08 11:48:07 +00:00
tcp_var.h An important statistic in determining if a server process (or client) is being delayed 2020-06-08 11:48:07 +00:00
tcp.h Initial support for kernel offload of TLS receive. 2020-04-27 23:17:19 +00:00
tcpip.h
toecore.c Initial support for kernel offload of TLS receive. 2020-04-27 23:17:19 +00:00
toecore.h Initial support for kernel offload of TLS receive. 2020-04-27 23:17:19 +00:00
udp_usrreq.c Convert route caching to nexthop caching. 2020-04-25 09:06:11 +00:00
udp_var.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
udp.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00
udplite.h White space cleanup -- remove trailing tab's or spaces 2020-02-12 13:31:36 +00:00