You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/net
Mihai Parparita 9cb332f0e2 sockstats: instrument networking code paths
Uses the hooks added by tailscale/go#45 to instrument the reads and
writes on the major code paths that do network I/O in the client. The
convention is to use "<package>.<type>:<label>" as the annotation for
the responsible code path.

Enabled on iOS, macOS and Android only, since mobile platforms are the
ones we're most interested in, and we are less sensitive to any
throughput degradation due to the per-I/O callback overhead (macOS is
also enabled for ease of testing during development).

For now just exposed as counters on a /v0/sockstats PeerAPI endpoint.

We also keep track of the current interface so that we can break out
the stats by interface.

Updates tailscale/corp#9230
Updates #3363

Signed-off-by: Mihai Parparita <mihai@tailscale.com>
2 years ago
..
connstats net/connstats: fix ticker in NewStatistics (#7225) 2 years ago
dns sockstats: instrument networking code paths 2 years ago
dnscache all: update copyright and license headers 2 years ago
dnsfallback all: update copyright and license headers 2 years ago
flowtrack all: update copyright and license headers 2 years ago
interfaces ipn/ipnlocal: add delegated interface information to /interfaces PeerAPI handler 2 years ago
memnet net/memnet: rename from net/nettest 2 years ago
netaddr all: update copyright and license headers 2 years ago
netcheck sockstats: instrument networking code paths 2 years ago
neterror all: update copyright and license headers 2 years ago
netknob all: update copyright and license headers 2 years ago
netns net/interfaces, net/netns: add node attributes to control default interface getting and binding 2 years ago
netstat net/{netns,netstat}: use new x/sys/cpu.IsBigEndian 2 years ago
netutil net/netutil: only check Linux sysctls w/ procfs, assume absent means false 2 years ago
packet all: update copyright and license headers 2 years ago
ping all: update copyright and license headers 2 years ago
portmapper sockstats: instrument networking code paths 2 years ago
proxymux all: update copyright and license headers 2 years ago
routetable net/routetable: include unknown flags in the routetable doctor output 2 years ago
socks5 all: update copyright and license headers 2 years ago
sockstats sockstats: instrument networking code paths 2 years ago
speedtest all: update copyright and license headers 2 years ago
stun all: use Go 1.20's bytes.Clone 2 years ago
tlsdial health, net/tlsdial: add healthcheck for self-signed cert 2 years ago
tsaddr all: update copyright and license headers 2 years ago
tsdial all: update copyright and license headers 2 years ago
tshttpproxy net/tshttpproxy: more directly use Transport proxy CONNECT hooks 2 years ago
tstun wgengine: start logging DISCO frames to pcap stream 2 years ago
wsconn all: update copyright and license headers 2 years ago