feature/condlite/expvar: add expvar stub package when metrics not needed

Saves ~53 KB from the min build.

Updates #12614

Change-Id: I73f9544a9feea06027c6ebdd222d712ada851299
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick 2025-10-06 13:10:58 -07:00 committed by Brad Fitzpatrick
parent 192f8d2804
commit 059f53e67a
10 changed files with 37 additions and 10 deletions

View File

@ -701,6 +701,7 @@ tailscale.com/cmd/k8s-operator dependencies: (generated by github.com/tailscale/
tailscale.com/feature from tailscale.com/ipn/ipnext+ tailscale.com/feature from tailscale.com/ipn/ipnext+
tailscale.com/feature/buildfeatures from tailscale.com/wgengine/magicsock+ tailscale.com/feature/buildfeatures from tailscale.com/wgengine/magicsock+
tailscale.com/feature/c2n from tailscale.com/tsnet tailscale.com/feature/c2n from tailscale.com/tsnet
tailscale.com/feature/condlite/expvar from tailscale.com/wgengine/magicsock
tailscale.com/feature/condregister/oauthkey from tailscale.com/tsnet tailscale.com/feature/condregister/oauthkey from tailscale.com/tsnet
tailscale.com/feature/condregister/portmapper from tailscale.com/tsnet tailscale.com/feature/condregister/portmapper from tailscale.com/tsnet
tailscale.com/feature/condregister/useproxy from tailscale.com/tsnet tailscale.com/feature/condregister/useproxy from tailscale.com/tsnet

View File

@ -54,6 +54,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
tailscale.com/envknob/featureknob from tailscale.com/ipn/ipnlocal tailscale.com/envknob/featureknob from tailscale.com/ipn/ipnlocal
tailscale.com/feature from tailscale.com/cmd/tailscaled+ tailscale.com/feature from tailscale.com/cmd/tailscaled+
tailscale.com/feature/buildfeatures from tailscale.com/cmd/tailscaled+ tailscale.com/feature/buildfeatures from tailscale.com/cmd/tailscaled+
tailscale.com/feature/condlite/expvar from tailscale.com/wgengine/magicsock
tailscale.com/feature/condregister from tailscale.com/cmd/tailscaled tailscale.com/feature/condregister from tailscale.com/cmd/tailscaled
tailscale.com/feature/condregister/portmapper from tailscale.com/feature/condregister tailscale.com/feature/condregister/portmapper from tailscale.com/feature/condregister
tailscale.com/feature/condregister/useproxy from tailscale.com/feature/condregister tailscale.com/feature/condregister/useproxy from tailscale.com/feature/condregister
@ -315,10 +316,9 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
encoding/base64 from encoding/json+ encoding/base64 from encoding/json+
encoding/binary from compress/gzip+ encoding/binary from compress/gzip+
encoding/hex from crypto/x509+ encoding/hex from crypto/x509+
encoding/json from expvar+ encoding/json from github.com/gaissmai/bart+
encoding/pem from crypto/tls+ encoding/pem from crypto/tls+
errors from bufio+ errors from bufio+
expvar from tailscale.com/wgengine/magicsock
flag from tailscale.com/cmd/tailscaled+ flag from tailscale.com/cmd/tailscaled+
fmt from compress/flate+ fmt from compress/flate+
hash from crypto+ hash from crypto+
@ -369,7 +369,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
io from bufio+ io from bufio+
io/fs from crypto/x509+ io/fs from crypto/x509+
iter from bytes+ iter from bytes+
log from expvar+ log from github.com/klauspost/compress/zstd+
log/internal from log log/internal from log
maps from crypto/x509+ maps from crypto/x509+
math from compress/flate+ math from compress/flate+
@ -381,7 +381,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
mime/multipart from net/http mime/multipart from net/http
mime/quotedprintable from mime/multipart mime/quotedprintable from mime/multipart
net from crypto/tls+ net from crypto/tls+
net/http from expvar+ net/http from tailscale.com/cmd/tailscaled+
net/http/httptrace from net/http+ net/http/httptrace from net/http+
net/http/internal from net/http net/http/internal from net/http
net/http/internal/ascii from net/http net/http/internal/ascii from net/http

View File

@ -74,6 +74,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
tailscale.com/envknob/featureknob from tailscale.com/ipn/ipnlocal tailscale.com/envknob/featureknob from tailscale.com/ipn/ipnlocal
tailscale.com/feature from tailscale.com/cmd/tailscaled+ tailscale.com/feature from tailscale.com/cmd/tailscaled+
tailscale.com/feature/buildfeatures from tailscale.com/ipn/ipnlocal+ tailscale.com/feature/buildfeatures from tailscale.com/ipn/ipnlocal+
tailscale.com/feature/condlite/expvar from tailscale.com/wgengine/magicsock
tailscale.com/feature/condregister from tailscale.com/cmd/tailscaled tailscale.com/feature/condregister from tailscale.com/cmd/tailscaled
tailscale.com/feature/condregister/oauthkey from tailscale.com/cmd/tailscale/cli tailscale.com/feature/condregister/oauthkey from tailscale.com/cmd/tailscale/cli
tailscale.com/feature/condregister/portmapper from tailscale.com/feature/condregister+ tailscale.com/feature/condregister/portmapper from tailscale.com/feature/condregister+
@ -345,10 +346,9 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
encoding/base64 from encoding/json+ encoding/base64 from encoding/json+
encoding/binary from compress/gzip+ encoding/binary from compress/gzip+
encoding/hex from crypto/x509+ encoding/hex from crypto/x509+
encoding/json from expvar+ encoding/json from github.com/gaissmai/bart+
encoding/pem from crypto/tls+ encoding/pem from crypto/tls+
errors from bufio+ errors from bufio+
expvar from tailscale.com/wgengine/magicsock
flag from tailscale.com/cmd/tailscaled+ flag from tailscale.com/cmd/tailscaled+
fmt from compress/flate+ fmt from compress/flate+
hash from crypto+ hash from crypto+
@ -404,7 +404,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
io/fs from crypto/x509+ io/fs from crypto/x509+
io/ioutil from github.com/skip2/go-qrcode io/ioutil from github.com/skip2/go-qrcode
iter from bytes+ iter from bytes+
log from expvar+ log from github.com/klauspost/compress/zstd+
log/internal from log log/internal from log
maps from crypto/x509+ maps from crypto/x509+
math from compress/flate+ math from compress/flate+
@ -416,7 +416,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
mime/multipart from net/http mime/multipart from net/http
mime/quotedprintable from mime/multipart mime/quotedprintable from mime/multipart
net from crypto/tls+ net from crypto/tls+
net/http from expvar+ net/http from net/http/httputil+
net/http/httptrace from net/http+ net/http/httptrace from net/http+
net/http/httputil from tailscale.com/cmd/tailscale/cli net/http/httputil from tailscale.com/cmd/tailscale/cli
net/http/internal from net/http+ net/http/internal from net/http+

View File

@ -278,6 +278,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
tailscale.com/feature/c2n from tailscale.com/feature/condregister tailscale.com/feature/c2n from tailscale.com/feature/condregister
tailscale.com/feature/capture from tailscale.com/feature/condregister tailscale.com/feature/capture from tailscale.com/feature/condregister
tailscale.com/feature/clientupdate from tailscale.com/feature/condregister tailscale.com/feature/clientupdate from tailscale.com/feature/condregister
tailscale.com/feature/condlite/expvar from tailscale.com/wgengine/magicsock
tailscale.com/feature/condregister from tailscale.com/cmd/tailscaled tailscale.com/feature/condregister from tailscale.com/cmd/tailscaled
tailscale.com/feature/condregister/portmapper from tailscale.com/feature/condregister tailscale.com/feature/condregister/portmapper from tailscale.com/feature/condregister
tailscale.com/feature/condregister/useproxy from tailscale.com/feature/condregister tailscale.com/feature/condregister/useproxy from tailscale.com/feature/condregister

View File

@ -282,6 +282,7 @@ func TestMinTailscaledWithCLI(t *testing.T) {
}, },
BadDeps: map[string]string{ BadDeps: map[string]string{
"golang.org/x/net/http2": "unexpected x/net/http2 dep; tailscale/tailscale#17305", "golang.org/x/net/http2": "unexpected x/net/http2 dep; tailscale/tailscale#17305",
"expvar": "unexpected expvar dep",
}, },
}.Check(t) }.Check(t)
} }

View File

@ -143,6 +143,7 @@ tailscale.com/cmd/tsidp dependencies: (generated by github.com/tailscale/depawar
tailscale.com/feature from tailscale.com/ipn/ipnext+ tailscale.com/feature from tailscale.com/ipn/ipnext+
tailscale.com/feature/buildfeatures from tailscale.com/wgengine/magicsock+ tailscale.com/feature/buildfeatures from tailscale.com/wgengine/magicsock+
tailscale.com/feature/c2n from tailscale.com/tsnet tailscale.com/feature/c2n from tailscale.com/tsnet
tailscale.com/feature/condlite/expvar from tailscale.com/wgengine/magicsock
tailscale.com/feature/condregister/oauthkey from tailscale.com/tsnet tailscale.com/feature/condregister/oauthkey from tailscale.com/tsnet
tailscale.com/feature/condregister/portmapper from tailscale.com/tsnet tailscale.com/feature/condregister/portmapper from tailscale.com/tsnet
tailscale.com/feature/condregister/useproxy from tailscale.com/tsnet tailscale.com/feature/condregister/useproxy from tailscale.com/tsnet

View File

@ -0,0 +1,12 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
//go:build !(ts_omit_debug && ts_omit_clientmetrics && ts_omit_usermetrics)
// Package expvar contains type aliases for expvar types, to allow conditionally
// excluding the package from builds.
package expvar
import "expvar"
type Int = expvar.Int

View File

@ -0,0 +1,11 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
//go:build ts_omit_debug && ts_omit_clientmetrics && ts_omit_usermetrics
// excluding the package from builds.
package expvar
type Int int64
func (*Int) Add(int64) {}

View File

@ -139,6 +139,7 @@ tailscale.com/tsnet dependencies: (generated by github.com/tailscale/depaware)
tailscale.com/feature from tailscale.com/ipn/ipnext+ tailscale.com/feature from tailscale.com/ipn/ipnext+
tailscale.com/feature/buildfeatures from tailscale.com/wgengine/magicsock+ tailscale.com/feature/buildfeatures from tailscale.com/wgengine/magicsock+
tailscale.com/feature/c2n from tailscale.com/tsnet tailscale.com/feature/c2n from tailscale.com/tsnet
tailscale.com/feature/condlite/expvar from tailscale.com/wgengine/magicsock
tailscale.com/feature/condregister/oauthkey from tailscale.com/tsnet tailscale.com/feature/condregister/oauthkey from tailscale.com/tsnet
tailscale.com/feature/condregister/portmapper from tailscale.com/tsnet tailscale.com/feature/condregister/portmapper from tailscale.com/tsnet
tailscale.com/feature/condregister/useproxy from tailscale.com/tsnet tailscale.com/feature/condregister/useproxy from tailscale.com/tsnet

View File

@ -11,7 +11,6 @@ import (
"context" "context"
"encoding/binary" "encoding/binary"
"errors" "errors"
"expvar"
"fmt" "fmt"
"io" "io"
"net" "net"
@ -29,11 +28,11 @@ import (
"github.com/tailscale/wireguard-go/device" "github.com/tailscale/wireguard-go/device"
"go4.org/mem" "go4.org/mem"
"golang.org/x/net/ipv6" "golang.org/x/net/ipv6"
"tailscale.com/control/controlknobs" "tailscale.com/control/controlknobs"
"tailscale.com/disco" "tailscale.com/disco"
"tailscale.com/envknob" "tailscale.com/envknob"
"tailscale.com/feature/buildfeatures" "tailscale.com/feature/buildfeatures"
"tailscale.com/feature/condlite/expvar"
"tailscale.com/health" "tailscale.com/health"
"tailscale.com/hostinfo" "tailscale.com/hostinfo"
"tailscale.com/ipn/ipnstate" "tailscale.com/ipn/ipnstate"