mirror of
https://github.com/golang/go
synced 2024-11-25 09:37:56 -07:00
cmd/go: change some counter names
Primarily, this change removes the cmd/ prefix on the go command counter names. The 'error' counter is changed to 'errors' reflecting that it's a bucket that contains multiple errors. the switch-exec and select-exec counters are moved into a 'toolchain' grouping. For #58894 Change-Id: Id6e0e7a0b4a5e42a0aef04b1210d2bb5256eb6c2 Reviewed-on: https://go-review.googlesource.com/c/go/+/570736 Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
38723f2b38
commit
4f07bb3953
@ -24,21 +24,21 @@ func TestCounterNamesUpToDate(t *testing.T) {
|
|||||||
var counters []string
|
var counters []string
|
||||||
// -C is a special case because it's handled by handleChdirFlag rather than
|
// -C is a special case because it's handled by handleChdirFlag rather than
|
||||||
// standard flag processing with FlagSets.
|
// standard flag processing with FlagSets.
|
||||||
// cmd/go/subcommand:unknown is also a special case: it's used when the subcommand
|
// go/subcommand:unknown is also a special case: it's used when the subcommand
|
||||||
// doesn't match any of the known commands.
|
// doesn't match any of the known commands.
|
||||||
counters = append(counters, "cmd/go/flag:C", "cmd/go/subcommand:unknown")
|
counters = append(counters, "go/flag:C", "go/subcommand:unknown")
|
||||||
counters = append(counters, flagscounters("cmd/go/flag:", *flag.CommandLine)...)
|
counters = append(counters, flagscounters("go/flag:", *flag.CommandLine)...)
|
||||||
|
|
||||||
// Add help (without any arguments) as a special case. cmdcounters adds go help <cmd>
|
// Add help (without any arguments) as a special case. cmdcounters adds go help <cmd>
|
||||||
// for all subcommands, but it's also valid to invoke go help without any arguments.
|
// for all subcommands, but it's also valid to invoke go help without any arguments.
|
||||||
counters = append(counters, "cmd/go/subcommand:help")
|
counters = append(counters, "go/subcommand:help")
|
||||||
for _, cmd := range base.Go.Commands {
|
for _, cmd := range base.Go.Commands {
|
||||||
counters = append(counters, cmdcounters(nil, cmd)...)
|
counters = append(counters, cmdcounters(nil, cmd)...)
|
||||||
}
|
}
|
||||||
|
|
||||||
counters = append(counters, base.RegisteredCounterNames()...)
|
counters = append(counters, base.RegisteredCounterNames()...)
|
||||||
for _, c := range counters {
|
for _, c := range counters {
|
||||||
const counterPrefix = "cmd/go"
|
const counterPrefix = "go/"
|
||||||
if !strings.HasPrefix(c, counterPrefix) {
|
if !strings.HasPrefix(c, counterPrefix) {
|
||||||
t.Fatalf("registered counter %q does not start with %q", c, counterPrefix)
|
t.Fatalf("registered counter %q does not start with %q", c, counterPrefix)
|
||||||
}
|
}
|
||||||
@ -77,8 +77,8 @@ func flagscounters(prefix string, flagSet flag.FlagSet) []string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func cmdcounters(previous []string, cmd *base.Command) []string {
|
func cmdcounters(previous []string, cmd *base.Command) []string {
|
||||||
const subcommandPrefix = "cmd/go/subcommand:"
|
const subcommandPrefix = "go/subcommand:"
|
||||||
const flagPrefix = "cmd/go/flag:"
|
const flagPrefix = "go/flag:"
|
||||||
var counters []string
|
var counters []string
|
||||||
previousComponent := strings.Join(previous, "-")
|
previousComponent := strings.Join(previous, "-")
|
||||||
if len(previousComponent) > 0 {
|
if len(previousComponent) > 0 {
|
||||||
|
@ -18,7 +18,7 @@ import (
|
|||||||
"cmd/go/internal/base"
|
"cmd/go/internal/base"
|
||||||
)
|
)
|
||||||
|
|
||||||
var counterErrorHelpUnknownTopic = base.NewCounter("cmd/go/error:help-unknown-topic")
|
var counterErrorsHelpUnknownTopic = base.NewCounter("go/errors:help-unknown-topic")
|
||||||
|
|
||||||
// Help implements the 'help' command.
|
// Help implements the 'help' command.
|
||||||
func Help(w io.Writer, args []string) {
|
func Help(w io.Writer, args []string) {
|
||||||
@ -59,7 +59,7 @@ Args:
|
|||||||
if i > 0 {
|
if i > 0 {
|
||||||
helpSuccess += " " + strings.Join(args[:i], " ")
|
helpSuccess += " " + strings.Join(args[:i], " ")
|
||||||
}
|
}
|
||||||
counterErrorHelpUnknownTopic.Inc()
|
counterErrorsHelpUnknownTopic.Inc()
|
||||||
fmt.Fprintf(os.Stderr, "go help %s: unknown help topic. Run '%s'.\n", strings.Join(args, " "), helpSuccess)
|
fmt.Fprintf(os.Stderr, "go help %s: unknown help topic. Run '%s'.\n", strings.Join(args, " "), helpSuccess)
|
||||||
base.SetExitStatus(2) // failed at 'go help cmd'
|
base.SetExitStatus(2) // failed at 'go help cmd'
|
||||||
base.Exit()
|
base.Exit()
|
||||||
|
@ -778,7 +778,7 @@ var (
|
|||||||
statCacheOnce sync.Once
|
statCacheOnce sync.Once
|
||||||
statCacheErr error
|
statCacheErr error
|
||||||
|
|
||||||
counterErrorGOMODCACHEEntryRelative = base.NewCounter("cmd/go/error:gomodcache-entry-relative")
|
counterErrorsGOMODCACHEEntryRelative = base.NewCounter("go/errors:gomodcache-entry-relative")
|
||||||
)
|
)
|
||||||
|
|
||||||
// checkCacheDir checks if the directory specified by GOMODCACHE exists. An
|
// checkCacheDir checks if the directory specified by GOMODCACHE exists. An
|
||||||
@ -790,7 +790,7 @@ func checkCacheDir(ctx context.Context) error {
|
|||||||
return fmt.Errorf("module cache not found: neither GOMODCACHE nor GOPATH is set")
|
return fmt.Errorf("module cache not found: neither GOMODCACHE nor GOPATH is set")
|
||||||
}
|
}
|
||||||
if !filepath.IsAbs(cfg.GOMODCACHE) {
|
if !filepath.IsAbs(cfg.GOMODCACHE) {
|
||||||
counterErrorGOMODCACHEEntryRelative.Inc()
|
counterErrorsGOMODCACHEEntryRelative.Inc()
|
||||||
return fmt.Errorf("GOMODCACHE entry is relative; must be absolute path: %q.\n", cfg.GOMODCACHE)
|
return fmt.Errorf("GOMODCACHE entry is relative; must be absolute path: %q.\n", cfg.GOMODCACHE)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ func FilterEnv(env []string) []string {
|
|||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
var counterErrorInvalidToolchainInFile = base.NewCounter("cmd/go/error:invalid-toolchain-in-file")
|
var counterErrorsInvalidToolchainInFile = base.NewCounter("go/errors:invalid-toolchain-in-file")
|
||||||
|
|
||||||
// Select invokes a different Go toolchain if directed by
|
// Select invokes a different Go toolchain if directed by
|
||||||
// the GOTOOLCHAIN environment variable or the user's configuration
|
// the GOTOOLCHAIN environment variable or the user's configuration
|
||||||
@ -176,7 +176,7 @@ func Select() {
|
|||||||
// has a suffix like "go1.21.1-foo" and toolchain is "go1.21.1".)
|
// has a suffix like "go1.21.1-foo" and toolchain is "go1.21.1".)
|
||||||
toolVers := gover.FromToolchain(toolchain)
|
toolVers := gover.FromToolchain(toolchain)
|
||||||
if toolVers == "" || (!strings.HasPrefix(toolchain, "go") && !strings.Contains(toolchain, "-go")) {
|
if toolVers == "" || (!strings.HasPrefix(toolchain, "go") && !strings.Contains(toolchain, "-go")) {
|
||||||
counterErrorInvalidToolchainInFile.Inc()
|
counterErrorsInvalidToolchainInFile.Inc()
|
||||||
base.Fatalf("invalid toolchain %q in %s", toolchain, base.ShortPath(file))
|
base.Fatalf("invalid toolchain %q in %s", toolchain, base.ShortPath(file))
|
||||||
}
|
}
|
||||||
if gover.Compare(toolVers, minVers) > 0 {
|
if gover.Compare(toolVers, minVers) > 0 {
|
||||||
@ -237,7 +237,7 @@ func Select() {
|
|||||||
Exec(gotoolchain)
|
Exec(gotoolchain)
|
||||||
}
|
}
|
||||||
|
|
||||||
var counterSelectExec = base.NewCounter("cmd/go/select-exec")
|
var counterSelectExec = base.NewCounter("go/toolchain/select-exec")
|
||||||
|
|
||||||
// TestVersionSwitch is set in the test go binary to the value in $TESTGO_VERSION_SWITCH.
|
// TestVersionSwitch is set in the test go binary to the value in $TESTGO_VERSION_SWITCH.
|
||||||
// Valid settings are:
|
// Valid settings are:
|
||||||
|
@ -103,7 +103,7 @@ func (s *Switcher) Switch(ctx context.Context) {
|
|||||||
panic("unreachable")
|
panic("unreachable")
|
||||||
}
|
}
|
||||||
|
|
||||||
var counterSwitchExec = base.NewCounter("cmd/go/switch-exec")
|
var counterSwitchExec = base.NewCounter("go/toolchain/switch-exec")
|
||||||
|
|
||||||
// SwitchOrFatal attempts a toolchain switch based on the information in err
|
// SwitchOrFatal attempts a toolchain switch based on the information in err
|
||||||
// and otherwise falls back to base.Fatal(err).
|
// and otherwise falls back to base.Fatal(err).
|
||||||
|
@ -90,7 +90,7 @@ func init() {
|
|||||||
|
|
||||||
var _ = go11tag
|
var _ = go11tag
|
||||||
|
|
||||||
var counterErrorGOPATHEntryRelative = base.NewCounter("cmd/go/error:gopath-entry-relative")
|
var counterErrorsGOPATHEntryRelative = base.NewCounter("go/errors:gopath-entry-relative")
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
log.SetFlags(0)
|
log.SetFlags(0)
|
||||||
@ -100,7 +100,7 @@ func main() {
|
|||||||
|
|
||||||
flag.Usage = base.Usage
|
flag.Usage = base.Usage
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
counter.CountFlags("cmd/go/flag:", *flag.CommandLine)
|
counter.CountFlags("go/flag:", *flag.CommandLine)
|
||||||
|
|
||||||
args := flag.Args()
|
args := flag.Args()
|
||||||
if len(args) < 1 {
|
if len(args) < 1 {
|
||||||
@ -109,7 +109,7 @@ func main() {
|
|||||||
|
|
||||||
cfg.CmdName = args[0] // for error messages
|
cfg.CmdName = args[0] // for error messages
|
||||||
if args[0] == "help" {
|
if args[0] == "help" {
|
||||||
counter.Inc("cmd/go/subcommand:" + strings.Join(append([]string{"help"}, args[1:]...), "-"))
|
counter.Inc("go/subcommand:" + strings.Join(append([]string{"help"}, args[1:]...), "-"))
|
||||||
help.Help(os.Stdout, args[1:])
|
help.Help(os.Stdout, args[1:])
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -148,7 +148,7 @@ func main() {
|
|||||||
// Instead of dying, uninfer it.
|
// Instead of dying, uninfer it.
|
||||||
cfg.BuildContext.GOPATH = ""
|
cfg.BuildContext.GOPATH = ""
|
||||||
} else {
|
} else {
|
||||||
counterErrorGOPATHEntryRelative.Inc()
|
counterErrorsGOPATHEntryRelative.Inc()
|
||||||
fmt.Fprintf(os.Stderr, "go: GOPATH entry is relative; must be absolute path: %q.\nFor more details see: 'go help gopath'\n", p)
|
fmt.Fprintf(os.Stderr, "go: GOPATH entry is relative; must be absolute path: %q.\nFor more details see: 'go help gopath'\n", p)
|
||||||
os.Exit(2)
|
os.Exit(2)
|
||||||
}
|
}
|
||||||
@ -166,7 +166,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
if args[used] == "help" {
|
if args[used] == "help" {
|
||||||
// Accept 'go mod help' and 'go mod help foo' for 'go help mod' and 'go help mod foo'.
|
// Accept 'go mod help' and 'go mod help foo' for 'go help mod' and 'go help mod foo'.
|
||||||
counter.Inc("cmd/go/subcommand:" + strings.ReplaceAll(cfg.CmdName, " ", "-") + "-" + strings.Join(args[used:], "-"))
|
counter.Inc("go/subcommand:" + strings.ReplaceAll(cfg.CmdName, " ", "-") + "-" + strings.Join(args[used:], "-"))
|
||||||
help.Help(os.Stdout, append(slices.Clip(args[:used]), args[used+1:]...))
|
help.Help(os.Stdout, append(slices.Clip(args[:used]), args[used+1:]...))
|
||||||
base.Exit()
|
base.Exit()
|
||||||
}
|
}
|
||||||
@ -178,12 +178,12 @@ func main() {
|
|||||||
if cmdName == "" {
|
if cmdName == "" {
|
||||||
cmdName = args[0]
|
cmdName = args[0]
|
||||||
}
|
}
|
||||||
counter.Inc("cmd/go/subcommand:unknown")
|
counter.Inc("go/subcommand:unknown")
|
||||||
fmt.Fprintf(os.Stderr, "go %s: unknown command\nRun 'go help%s' for usage.\n", cmdName, helpArg)
|
fmt.Fprintf(os.Stderr, "go %s: unknown command\nRun 'go help%s' for usage.\n", cmdName, helpArg)
|
||||||
base.SetExitStatus(2)
|
base.SetExitStatus(2)
|
||||||
base.Exit()
|
base.Exit()
|
||||||
}
|
}
|
||||||
counter.Inc("cmd/go/subcommand:" + strings.ReplaceAll(cfg.CmdName, " ", "-"))
|
counter.Inc("go/subcommand:" + strings.ReplaceAll(cfg.CmdName, " ", "-"))
|
||||||
invoke(cmd, args[used-1:])
|
invoke(cmd, args[used-1:])
|
||||||
base.Exit()
|
base.Exit()
|
||||||
}
|
}
|
||||||
@ -248,7 +248,7 @@ func invoke(cmd *base.Command, args []string) {
|
|||||||
} else {
|
} else {
|
||||||
base.SetFromGOFLAGS(&cmd.Flag)
|
base.SetFromGOFLAGS(&cmd.Flag)
|
||||||
cmd.Flag.Parse(args[1:])
|
cmd.Flag.Parse(args[1:])
|
||||||
counter.CountFlags("cmd/go/flag:"+strings.ReplaceAll(cfg.CmdName, " ", "-")+"-", cmd.Flag)
|
counter.CountFlags("go/flag:"+strings.ReplaceAll(cfg.CmdName, " ", "-")+"-", cmd.Flag)
|
||||||
args = cmd.Flag.Args()
|
args = cmd.Flag.Args()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -333,7 +333,7 @@ func handleChdirFlag() {
|
|||||||
_, dir, _ = strings.Cut(a, "=")
|
_, dir, _ = strings.Cut(a, "=")
|
||||||
os.Args = slices.Delete(os.Args, used, used+1)
|
os.Args = slices.Delete(os.Args, used, used+1)
|
||||||
}
|
}
|
||||||
counter.Inc("cmd/go/flag:C")
|
counter.Inc("go/flag:C")
|
||||||
|
|
||||||
if err := os.Chdir(dir); err != nil {
|
if err := os.Chdir(dir); err != nil {
|
||||||
base.Fatalf("go: %v", err)
|
base.Fatalf("go: %v", err)
|
||||||
|
1336
src/cmd/go/testdata/counters.txt
vendored
1336
src/cmd/go/testdata/counters.txt
vendored
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user