From 99fc3179487b8014f5b301e83fce8ccd618afa09 Mon Sep 17 00:00:00 2001 From: Michael Matloob Date: Wed, 1 May 2024 14:17:24 -0400 Subject: cmd/go: add flag values to counter for buildmode Usually, when we increment counters for flags, the counter only contains the flag name. For the buildmode flag, we now include the flag value because there's a limited set of values. We can't use CountFlags directly anymore since we have different behavior for buildmode. Change-Id: I956a1a97d62850df3199b5514ad507ea51355c9f Reviewed-on: https://go-review.googlesource.com/c/go/+/582896 LUCI-TryBot-Result: Go LUCI Reviewed-by: Sam Thanawalla --- src/cmd/go/main.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/cmd/go/main.go b/src/cmd/go/main.go index dc2a8fd49c..86f3c65a92 100644 --- a/src/cmd/go/main.go +++ b/src/cmd/go/main.go @@ -252,7 +252,14 @@ func invoke(cmd *base.Command, args []string) { } else { base.SetFromGOFLAGS(&cmd.Flag) cmd.Flag.Parse(args[1:]) - telemetry.CountFlags("go/flag:"+strings.ReplaceAll(cfg.CmdName, " ", "-")+"-", cmd.Flag) + prefix := "go/flag:" + strings.ReplaceAll(cfg.CmdName, " ", "-") + "-" + cmd.Flag.Visit(func(f *flag.Flag) { + counterName := prefix + f.Name + if f.Name == "buildmode" { // Special case: there is a limited set of buildmode values + counterName += "-" + f.Value.String() + } + telemetry.Inc(counterName) + }) args = cmd.Flag.Args() } -- cgit v1.2.3-54-g00ecf