From: Michael Matloob Date: Wed, 1 May 2024 18:17:24 +0000 (-0400) Subject: cmd/go: add flag values to counter for buildmode X-Git-Tag: go1.23rc1~472 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=99fc3179487b8014f5b301e83fce8ccd618afa09;p=gostls13.git 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 --- 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() }