diff --git a/cmd/tailscaled/tailscaled.go b/cmd/tailscaled/tailscaled.go index 8c4365548..16d644d95 100644 --- a/cmd/tailscaled/tailscaled.go +++ b/cmd/tailscaled/tailscaled.go @@ -752,10 +752,8 @@ func newNetstack(logf logger.Logf, sys *tsd.System) (*netstack.Impl, error) { if err != nil { return nil, err } - // Only register debug info if we have a debug mux - if debugMux != nil { - expvar.Publish("netstack", ret.ExpVar()) - } + // These are exposed via the local debug server, c2n, peerapi and localapi. + expvar.Publish("netstack", ret.ExpVar()) return ret, nil } diff --git a/ipn/ipnlocal/c2n.go b/ipn/ipnlocal/c2n.go index 9e6af14de..bacc743a8 100644 --- a/ipn/ipnlocal/c2n.go +++ b/ipn/ipnlocal/c2n.go @@ -29,6 +29,7 @@ import ( "tailscale.com/net/sockstats" "tailscale.com/posture" "tailscale.com/tailcfg" + "tailscale.com/tsweb/varz" "tailscale.com/util/clientmetric" "tailscale.com/util/goroutines" "tailscale.com/util/set" @@ -146,6 +147,7 @@ func handleC2NDebugPrefs(b *LocalBackend, w http.ResponseWriter, r *http.Request func handleC2NDebugMetrics(_ *LocalBackend, w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/plain") + varz.Handler(w, r) clientmetric.WritePrometheusExpositionFormat(w) } diff --git a/ipn/ipnlocal/peerapi.go b/ipn/ipnlocal/peerapi.go index 78d448bbe..6a3e8c34e 100644 --- a/ipn/ipnlocal/peerapi.go +++ b/ipn/ipnlocal/peerapi.go @@ -39,6 +39,7 @@ import ( "tailscale.com/tailcfg" "tailscale.com/taildrop" "tailscale.com/tailfs" + "tailscale.com/tsweb/varz" "tailscale.com/types/views" "tailscale.com/util/clientmetric" "tailscale.com/util/httphdr" @@ -797,6 +798,7 @@ func (h *peerAPIHandler) handleServeMetrics(w http.ResponseWriter, r *http.Reque return } w.Header().Set("Content-Type", "text/plain") + varz.Handler(w, r) clientmetric.WritePrometheusExpositionFormat(w) } diff --git a/ipn/localapi/localapi.go b/ipn/localapi/localapi.go index a1b7da46f..1b9fea1b0 100644 --- a/ipn/localapi/localapi.go +++ b/ipn/localapi/localapi.go @@ -46,6 +46,7 @@ import ( "tailscale.com/tailfs" "tailscale.com/tka" "tailscale.com/tstime" + "tailscale.com/tsweb/varz" "tailscale.com/types/key" "tailscale.com/types/logger" "tailscale.com/types/logid" @@ -545,6 +546,7 @@ func (h *Handler) serveMetrics(w http.ResponseWriter, r *http.Request) { return } w.Header().Set("Content-Type", "text/plain") + varz.Handler(w, r) clientmetric.WritePrometheusExpositionFormat(w) }