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/dns
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>
1 year ago
..
publicdns all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our fork 1 year ago
resolvconffile all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our fork 1 year ago
resolver sockstats: instrument networking code paths 1 year ago
config.go all: update copyright and license headers 1 year ago
debian_resolvconf.go all: update copyright and license headers 1 year ago
direct.go all: update copyright and license headers 1 year ago
direct_linux.go all: update copyright and license headers 1 year ago
direct_notlinux.go all: update copyright and license headers 1 year ago
direct_test.go all: update copyright and license headers 1 year ago
flush_default.go all: update copyright and license headers 1 year ago
flush_windows.go all: update copyright and license headers 1 year ago
ini.go all: update copyright and license headers 1 year ago
ini_test.go all: update copyright and license headers 1 year ago
manager.go all: update copyright and license headers 1 year ago
manager_darwin.go all: update copyright and license headers 1 year ago
manager_default.go all: update copyright and license headers 1 year ago
manager_freebsd.go all: update copyright and license headers 1 year ago
manager_linux.go all: update copyright and license headers 1 year ago
manager_linux_test.go all: update copyright and license headers 1 year ago
manager_openbsd.go all: update copyright and license headers 1 year ago
manager_tcp_test.go all: update copyright and license headers 1 year ago
manager_test.go all: update copyright and license headers 1 year ago
manager_windows.go all: update copyright and license headers 1 year ago
manager_windows_test.go all: update copyright and license headers 1 year ago
nm.go all: update copyright and license headers 1 year ago
noop.go all: update copyright and license headers 1 year ago
nrpt_windows.go all: update copyright and license headers 1 year ago
openresolv.go all: update copyright and license headers 1 year ago
osconfig.go all: update copyright and license headers 1 year ago
osconfig_test.go all: update copyright and license headers 1 year ago
resolvconf-workaround.sh all: update copyright and license headers 1 year ago
resolvconf.go all: update copyright and license headers 1 year ago
resolvd.go all: update copyright and license headers 1 year ago
resolved.go all: update copyright and license headers 1 year ago
utf.go all: update copyright and license headers 1 year ago
utf_test.go all: update copyright and license headers 1 year ago
wsl_windows.go all: update copyright and license headers 1 year ago