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/ipn/ipnlocal
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
..
testdata ipn/ipnlocal: fix the path for writing cert files (#7203) 1 year ago
c2n.go version: unexport all vars, turn Short/Long into funcs 1 year ago
cert.go version: unexport all vars, turn Short/Long into funcs 1 year ago
cert_js.go all: update copyright and license headers 1 year ago
cert_test.go ipn/ipnlocal: fix the path for writing cert files (#7203) 1 year ago
dnsconfig_test.go all: update copyright and license headers 1 year ago
expiry.go ipn/ipnlocal: handle more edge cases in netmap expiry timer 1 year ago
expiry_test.go ipn/ipnlocal: handle more edge cases in netmap expiry timer 1 year ago
local.go version: unexport all vars, turn Short/Long into funcs 1 year ago
local_test.go ipn/ipnlocal: drop not required StateKey parameter 1 year ago
loglines_test.go all: replace logtail.{Public,Private}ID with logid.{Public,Private}ID (#7404) 1 year ago
network-lock.go all: update copyright and license headers 1 year ago
network-lock_test.go ipn/ipnlocal: drop not required StateKey parameter 1 year ago
peerapi.go sockstats: instrument networking code paths 1 year ago
peerapi_h2c.go all: update copyright and license headers 1 year ago
peerapi_macios_ext.go all: update copyright and license headers 1 year ago
peerapi_test.go ipn/ipnlocal: drop not required StateKey parameter 1 year ago
profiles.go ipn/ipnlocal: use presence of NodeID to identify logins 1 year ago
profiles_test.go ipn/ipnlocal: use presence of NodeID to identify logins 1 year ago
serve.go all: update to Go 1.20, use strings.CutPrefix/Suffix instead of our fork 1 year ago
serve_test.go all: update copyright and license headers 1 year ago
ssh.go all: update copyright and license headers 1 year ago
ssh_stub.go all: update copyright and license headers 1 year ago
ssh_test.go ipn/ipnlocal: drop not required StateKey parameter 1 year ago
state_test.go ipn/ipnlocal: use presence of NodeID to identify logins 1 year ago