feature/featuretags: make usermetrics modular

Saves ~102 KB from the min build.

Updates #12614

Change-Id: Ie1d4f439321267b9f98046593cb289ee3c4d6249
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2025-10-06 12:02:16 -07:00
committed by Brad Fitzpatrick
parent ea8e991d69
commit d816454a88
17 changed files with 97 additions and 31 deletions

View File

@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build ts_omit_usermetrics
package buildfeatures
// HasUserMetrics is whether the binary was built with support for modular feature "Usermetrics (documented, stable) metrics support".
// Specifically, it's whether the binary was NOT built with the "ts_omit_usermetrics" build tag.
// It's a const so it can be used for dead code elimination.
const HasUserMetrics = false

View File

@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build !ts_omit_usermetrics
package buildfeatures
// HasUserMetrics is whether the binary was built with support for modular feature "Usermetrics (documented, stable) metrics support".
// Specifically, it's whether the binary was NOT built with the "ts_omit_usermetrics" build tag.
// It's a const so it can be used for dead code elimination.
const HasUserMetrics = true

View File

@@ -270,6 +270,10 @@ var Features = map[FeatureTag]FeatureMeta{
Sym: "UseProxy",
Desc: "Support using system proxies as specified by env vars or the system configuration to reach Tailscale servers.",
},
"usermetrics": {
Sym: "UserMetrics",
Desc: "Usermetrics (documented, stable) metrics support",
},
"wakeonlan": {Sym: "WakeOnLAN", Desc: "Wake-on-LAN support"},
"webclient": {
Sym: "WebClient", Desc: "Web client support",