Repository: go
Issue: x/telemetry/config: Initial Go command counters
Labels: NeedsDecision,telemetry,Telemetry-Proposal

### Counter names

* `go/toolchain/select-exec`
* `go/toolchain/switch-exec`
* `go/errors:{gomodcache-entry-relative,gopath-entry-relative,help-unknown-topic,invalid-toolchain-in-file}`
* `go/flag:{C,bug-C,bug-v,build-C,build-a,build-asan,build-asmflags,build-buildmode,build-buildvcs,build-compiler,build-cover,build-covermode,build-coverpkg,build-debug-actiongraph,build-debug-runtime-trace,build-debug-trace,build-gccgoflags,build-gcflags,build-installsuffix,build-ldflags,build-linkshared,build-mod,build-modcacherw,build-modfile,build-msan,build-n,build-o,build-overlay,build-p,build-pgo,build-pkgdir,build-race,build-tags,build-toolexec,build-trimpath,build-v,build-work,build-x,clean-C,clean-a,clean-asan,clean-asmflags,clean-buildmode,clean-buildvcs,clean-cache,clean-compiler,clean-debug-actiongraph,clean-debug-runtime-trace,clean-debug-trace,clean-fuzzcache,clean-gccgoflags,clean-gcflags,clean-i,clean-installsuffix,clean-ldflags,clean-linkshared,clean-mod,clean-modcache,clean-modcacherw,clean-modfile,clean-msan,clean-n,clean-overlay,clean-p,clean-pgo,clean-pkgdir,clean-r,clean-race,clean-tags,clean-testcache,clean-toolexec,clean-trimpath,clean-v,clean-work,clean-x,env-C,env-json,env-n,env-u,env-w,env-x,fix-C,fix-a,fix-asan,fix-asmflags,fix-buildmode,fix-buildvcs,fix-compiler,fix-debug-actiongraph,fix-debug-runtime-trace,fix-debug-trace,fix-fix,fix-gccgoflags,fix-gcflags,fix-installsuffix,fix-ldflags,fix-linkshared,fix-mod,fix-modcacherw,fix-modfile,fix-msan,fix-n,fix-overlay,fix-p,fix-pgo,fix-pkgdir,fix-race,fix-tags,fix-toolexec,fix-trimpath,fix-v,fix-work,fix-x,fixdocs,fixreadme,flaky,fmt-C,fmt-mod,fmt-modcacherw,fmt-modfile,fmt-n,fmt-overlay,fmt-x,generate-C,generate-a,generate-asan,generate-asmflags,generate-buildmode,generate-buildvcs,generate-compiler,generate-debug-actiongraph,generate-debug-runtime-trace,generate-debug-trace,generate-gccgoflags,generate-gcflags,generate-installsuffix,generate-ldflags,generate-linkshared,generate-mod,generate-modcacherw,generate-modfile,generate-msan,generate-n,generate-overlay,generate-p,generate-pgo,generate-pkgdir,generate-race,generate-run,generate-skip,generate-tags,generate-toolexec,generate-trimpath,generate-v,generate-work,generate-x,get-C,get-a,get-asan,get-asmflags,get-buildmode,get-buildvcs,get-compiler,get-d,get-debug-actiongraph,get-debug-runtime-trace,get-debug-trace,get-f,get-fix,get-gccgoflags,get-gcflags,get-insecure,get-installsuffix,get-ldflags,get-linkshared,get-m,get-modcacherw,get-modfile,get-msan,get-n,get-overlay,get-p,get-pgo,get-pkgdir,get-race,get-t,get-tags,get-toolexec,get-trimpath,get-u,get-v,get-work,get-x,install-C,install-a,install-asan,install-asmflags,install-buildmode,install-buildvcs,install-compiler,install-cover,install-covermode,install-coverpkg,install-debug-actiongraph,install-debug-runtime-trace,install-debug-trace,install-gccgoflags,install-gcflags,install-installsuffix,install-ldflags,install-linkshared,install-mod,install-modcacherw,install-modfile,install-msan,install-n,install-overlay,install-p,install-pgo,install-pkgdir,install-race,install-tags,install-toolexec,install-trimpath,install-v,install-work,install-x,list-C,list-a,list-asan,list-asmflags,list-buildmode,list-buildvcs,list-compiled,list-compiler,list-cover,list-covermode,list-coverpkg,list-debug-actiongraph,list-debug-runtime-trace,list-debug-trace,list-deps,list-e,list-export,list-f,list-find,list-gccgoflags,list-gcflags,list-installsuffix,list-json,list-ldflags,list-linkshared,list-m,list-mod,list-modcacherw,list-modfile,list-msan,list-n,list-overlay,list-p,list-pgo,list-pkgdir,list-race,list-retracted,list-reuse,list-tags,list-test,list-toolexec,list-trimpath,list-u,list-v,list-versions,list-work,list-x,mod-download-C,mod-download-json,mod-download-modcacherw,mod-download-modfile,mod-download-overlay,mod-download-reuse,mod-download-x,mod-edit-C,mod-edit-dropexclude,mod-edit-dropreplace,mod-edit-droprequire,mod-edit-dropretract,mod-edit-exclude,mod-edit-fmt,mod-edit-go,mod-edit-json,mod-edit-modcacherw,mod-edit-modfile,mod-edit-module,mod-edit-n,mod-edit-overlay,mod-edit-print,mod-edit-replace,mod-edit-require,mod-edit-retract,mod-edit-toolchain,mod-edit-x,mod-graph-C,mod-graph-go,mod-graph-modcacherw,mod-graph-modfile,mod-graph-overlay,mod-graph-x,mod-init-C,mod-init-modcacherw,mod-init-modfile,mod-init-overlay,mod-tidy-C,mod-tidy-compat,mod-tidy-e,mod-tidy-go,mod-tidy-modcacherw,mod-tidy-modfile,mod-tidy-overlay,mod-tidy-v,mod-tidy-x,mod-vendor-C,mod-vendor-e,mod-vendor-modcacherw,mod-vendor-modfile,mod-vendor-o,mod-vendor-overlay,mod-vendor-v,mod-verify-C,mod-verify-modcacherw,mod-verify-modfile,mod-verify-overlay,mod-why-C,mod-why-m,mod-why-modcacherw,mod-why-modfile,mod-why-overlay,mod-why-vendor,proxy,run-C,run-a,run-asan,run-asmflags,run-buildmode,run-buildvcs,run-compiler,run-cover,run-covermode,run-coverpkg,run-debug-actiongraph,run-debug-runtime-trace,run-debug-trace,run-exec,run-gccgoflags,run-gcflags,run-installsuffix,run-ldflags,run-linkshared,run-mod,run-modcacherw,run-modfile,run-msan,run-n,run-overlay,run-p,run-pgo,run-pkgdir,run-race,run-tags,run-toolexec,run-trimpath,run-v,run-work,run-x,test-C,test-a,test-asan,test-asmflags,test-bench,test-benchmem,test-benchtime,test-blockprofile,test-blockprofilerate,test-buildmode,test-buildvcs,test-c,test-compiler,test-count,test-cover,test-covermode,test-coverpkg,test-coverprofile,test-cpu,test-cpuprofile,test-debug-actiongraph,test-debug-runtime-trace,test-debug-trace,test-exec,test-failfast,test-fullpath,test-fuzz,test-fuzzminimizetime,test-fuzztime,test-gccgoflags,test-gcflags,test-installsuffix,test-json,test-ldflags,test-linkshared,test-list,test-memprofile,test-memprofilerate,test-mod,test-modcacherw,test-modfile,test-msan,test-mutexprofile,test-mutexprofilefraction,test-n,test-o,test-outputdir,test-overlay,test-p,test-parallel,test-pgo,test-pkgdir,test-race,test-run,test-short,test-shuffle,test-skip,test-tags,test-test.bench,test-test.benchmem,test-test.benchtime,test-test.blockprofile,test-test.blockprofilerate,test-test.count,test-test.coverprofile,test-test.cpu,test-test.cpuprofile,test-test.failfast,test-test.fullpath,test-test.fuzz,test-test.fuzzminimizetime,test-test.fuzztime,test-test.list,test-test.memprofile,test-test.memprofilerate,test-test.mutexprofile,test-test.mutexprofilefraction,test-test.outputdir,test-test.parallel,test-test.run,test-test.short,test-test.shuffle,test-test.skip,test-test.timeout,test-test.trace,test-test.v,test-timeout,test-toolexec,test-trace,test-trimpath,test-v,test-vet,test-work,test-x,test.bench,test.benchmem,test.benchtime,test.blockprofile,test.blockprofilerate,test.count,test.coverprofile,test.cpu,test.cpuprofile,test.failfast,test.fullpath,test.fuzz,test.fuzzcachedir,test.fuzzminimizetime,test.fuzztime,test.fuzzworker,test.gocoverdir,test.list,test.memprofile,test.memprofilerate,test.mutexprofile,test.mutexprofilefraction,test.outputdir,test.paniconexit0,test.parallel,test.run,test.short,test.shuffle,test.skip,test.testlogfile,test.timeout,test.trace,test.v,testsum,testwork,tool-C,tool-n,update,version-C,version-m,version-v,vet-C,vet-a,vet-asan,vet-asmflags,vet-buildmode,vet-buildvcs,vet-compiler,vet-debug-actiongraph,vet-debug-runtime-trace,vet-debug-trace,vet-gccgoflags,vet-gcflags,vet-installsuffix,vet-ldflags,vet-linkshared,vet-mod,vet-modcacherw,vet-modfile,vet-msan,vet-n,vet-overlay,vet-p,vet-pgo,vet-pkgdir,vet-race,vet-tags,vet-toolexec,vet-trimpath,vet-v,vet-vettool,vet-work,vet-x,work-edit-C,work-edit-dropreplace,work-edit-dropuse,work-edit-fmt,work-edit-go,work-edit-json,work-edit-print,work-edit-replace,work-edit-toolchain,work-edit-use,work-init-C,work-init-modcacherw,work-init-modfile,work-init-overlay,work-sync-C,work-sync-modcacherw,work-sync-modfile,work-sync-overlay,work-use-C,work-use-modcacherw,work-use-modfile,work-use-overlay,work-use-r,work-vendor-C,work-vendor-e,work-vendor-modcacherw,work-vendor-modfile,work-vendor-o,work-vendor-overlay,work-vendor-v}`
* `go/subcommand:{bug,build,clean,doc,env,fix,fmt,generate,get,help,help-bug,help-build,help-buildconstraint,help-buildmode,help-c,help-cache,help-clean,help-doc,help-env,help-environment,help-filetype,help-fix,help-fmt,help-generate,help-get,help-go.mod,help-gopath,help-goproxy,help-importpath,help-install,help-list,help-mod,help-mod-download,help-mod-edit,help-mod-graph,help-mod-init,help-mod-tidy,help-mod-vendor,help-mod-verify,help-mod-why,help-module-auth,help-modules,help-packages,help-private,help-run,help-test,help-testflag,help-testfunc,help-tool,help-vcs,help-version,help-vet,help-work,help-work-edit,help-work-init,help-work-sync,help-work-use,help-work-vendor,install,list,mod-download,mod-edit,mod-graph,mod-help-download,mod-help-edit,mod-help-graph,mod-help-init,mod-help-tidy,mod-help-vendor,mod-help-verify,mod-help-why,mod-init,mod-tidy,mod-vendor,mod-verify,mod-why,run,test,tool,unknown,version,vet,work-edit,work-help-edit,work-help-init,work-help-sync,work-help-use,work-help-vendor,work-init,work-sync,work-use,work-vendor}`


### Description

They measure flag names of flags provides, number of times some error cases are encountered, number of times some subcommands are invoked, and number of times an alternate toolchain is switched or selected to.

### Rationale

It's useful to glean information on how the go command is used.

### Do the counters carry sensitive user information?

No

### How?

The flag and subcommand counters are incremented whenever the flags or subcommand are encountered. The rest are standard counters that are incremented when the given condition occurs.

### Proposed Graph Config

```Text
title: Toolchain Selects
counter: go/toolchain/select-exec
description: Exec a selected toolchain
type: histogram
issue: https://go.dev/issue/66210
program: cmd/go
version: v1.23.0
---
title: Toolchain Switches
counter: go/toolchain/switch-exec
description: Exec a toolchain that is switched to
type: histogram
issue: https://go.dev/issue/66210
program: cmd/go
version: v1.23.0
---
title: Error conditions encountered
counter: go/errors:{gomodcache-entry-relative,gopath-entry-relative,help-unknown-topic,invalid-toolchain-in-file}
description: Cases where error conditions are encountered in the Go command
type: histogram
issue: https://go.dev/issue/66210
program: cmd/go
version: v1.23.0
---
title: Flags provided
counter: go/flag:{C,bug-C,bug-v,build-C,build-a,build-asan,build-asmflags,build-buildmode,build-buildvcs,build-compiler,build-cover,build-covermode,build-coverpkg,build-debug-actiongraph,build-debug-runtime-trace,build-debug-trace,build-gccgoflags,build-gcflags,build-installsuffix,build-ldflags,build-linkshared,build-mod,build-modcacherw,build-modfile,build-msan,build-n,build-o,build-overlay,build-p,build-pgo,build-pkgdir,build-race,build-tags,build-toolexec,build-trimpath,build-v,build-work,build-x,clean-C,clean-a,clean-asan,clean-asmflags,clean-buildmode,clean-buildvcs,clean-cache,clean-compiler,clean-debug-actiongraph,clean-debug-runtime-trace,clean-debug-trace,clean-fuzzcache,clean-gccgoflags,clean-gcflags,clean-i,clean-installsuffix,clean-ldflags,clean-linkshared,clean-mod,clean-modcache,clean-modcacherw,clean-modfile,clean-msan,clean-n,clean-overlay,clean-p,clean-pgo,clean-pkgdir,clean-r,clean-race,clean-tags,clean-testcache,clean-toolexec,clean-trimpath,clean-v,clean-work,clean-x,env-C,env-json,env-n,env-u,env-w,env-x,fix-C,fix-a,fix-asan,fix-asmflags,fix-buildmode,fix-buildvcs,fix-compiler,fix-debug-actiongraph,fix-debug-runtime-trace,fix-debug-trace,fix-fix,fix-gccgoflags,fix-gcflags,fix-installsuffix,fix-ldflags,fix-linkshared,fix-mod,fix-modcacherw,fix-modfile,fix-msan,fix-n,fix-overlay,fix-p,fix-pgo,fix-pkgdir,fix-race,fix-tags,fix-toolexec,fix-trimpath,fix-v,fix-work,fix-x,fixdocs,fixreadme,flaky,fmt-C,fmt-mod,fmt-modcacherw,fmt-modfile,fmt-n,fmt-overlay,fmt-x,generate-C,generate-a,generate-asan,generate-asmflags,generate-buildmode,generate-buildvcs,generate-compiler,generate-debug-actiongraph,generate-debug-runtime-trace,generate-debug-trace,generate-gccgoflags,generate-gcflags,generate-installsuffix,generate-ldflags,generate-linkshared,generate-mod,generate-modcacherw,generate-modfile,generate-msan,generate-n,generate-overlay,generate-p,generate-pgo,generate-pkgdir,generate-race,generate-run,generate-skip,generate-tags,generate-toolexec,generate-trimpath,generate-v,generate-work,generate-x,get-C,get-a,get-asan,get-asmflags,get-buildmode,get-buildvcs,get-compiler,get-d,get-debug-actiongraph,get-debug-runtime-trace,get-debug-trace,get-f,get-fix,get-gccgoflags,get-gcflags,get-insecure,get-installsuffix,get-ldflags,get-linkshared,get-m,get-modcacherw,get-modfile,get-msan,get-n,get-overlay,get-p,get-pgo,get-pkgdir,get-race,get-t,get-tags,get-toolexec,get-trimpath,get-u,get-v,get-work,get-x,install-C,install-a,install-asan,install-asmflags,install-buildmode,install-buildvcs,install-compiler,install-cover,install-covermode,install-coverpkg,install-debug-actiongraph,install-debug-runtime-trace,install-debug-trace,install-gccgoflags,install-gcflags,install-installsuffix,install-ldflags,install-linkshared,install-mod,install-modcacherw,install-modfile,install-msan,install-n,install-overlay,install-p,install-pgo,install-pkgdir,install-race,install-tags,install-toolexec,install-trimpath,install-v,install-work,install-x,list-C,list-a,list-asan,list-asmflags,list-buildmode,list-buildvcs,list-compiled,list-compiler,list-cover,list-covermode,list-coverpkg,list-debug-actiongraph,list-debug-runtime-trace,list-debug-trace,list-deps,list-e,list-export,list-f,list-find,list-gccgoflags,list-gcflags,list-installsuffix,list-json,list-ldflags,list-linkshared,list-m,list-mod,list-modcacherw,list-modfile,list-msan,list-n,list-overlay,list-p,list-pgo,list-pkgdir,list-race,list-retracted,list-reuse,list-tags,list-test,list-toolexec,list-trimpath,list-u,list-v,list-versions,list-work,list-x,mod-download-C,mod-download-json,mod-download-modcacherw,mod-download-modfile,mod-download-overlay,mod-download-reuse,mod-download-x,mod-edit-C,mod-edit-dropexclude,mod-edit-dropreplace,mod-edit-droprequire,mod-edit-dropretract,mod-edit-exclude,mod-edit-fmt,mod-edit-go,mod-edit-json,mod-edit-modcacherw,mod-edit-modfile,mod-edit-module,mod-edit-n,mod-edit-overlay,mod-edit-print,mod-edit-replace,mod-edit-require,mod-edit-retract,mod-edit-toolchain,mod-edit-x,mod-graph-C,mod-graph-go,mod-graph-modcacherw,mod-graph-modfile,mod-graph-overlay,mod-graph-x,mod-init-C,mod-init-modcacherw,mod-init-modfile,mod-init-overlay,mod-tidy-C,mod-tidy-compat,mod-tidy-e,mod-tidy-go,mod-tidy-modcacherw,mod-tidy-modfile,mod-tidy-overlay,mod-tidy-v,mod-tidy-x,mod-vendor-C,mod-vendor-e,mod-vendor-modcacherw,mod-vendor-modfile,mod-vendor-o,mod-vendor-overlay,mod-vendor-v,mod-verify-C,mod-verify-modcacherw,mod-verify-modfile,mod-verify-overlay,mod-why-C,mod-why-m,mod-why-modcacherw,mod-why-modfile,mod-why-overlay,mod-why-vendor,proxy,run-C,run-a,run-asan,run-asmflags,run-buildmode,run-buildvcs,run-compiler,run-cover,run-covermode,run-coverpkg,run-debug-actiongraph,run-debug-runtime-trace,run-debug-trace,run-exec,run-gccgoflags,run-gcflags,run-installsuffix,run-ldflags,run-linkshared,run-mod,run-modcacherw,run-modfile,run-msan,run-n,run-overlay,run-p,run-pgo,run-pkgdir,run-race,run-tags,run-toolexec,run-trimpath,run-v,run-work,run-x,test-C,test-a,test-asan,test-asmflags,test-bench,test-benchmem,test-benchtime,test-blockprofile,test-blockprofilerate,test-buildmode,test-buildvcs,test-c,test-compiler,test-count,test-cover,test-covermode,test-coverpkg,test-coverprofile,test-cpu,test-cpuprofile,test-debug-actiongraph,test-debug-runtime-trace,test-debug-trace,test-exec,test-failfast,test-fullpath,test-fuzz,test-fuzzminimizetime,test-fuzztime,test-gccgoflags,test-gcflags,test-installsuffix,test-json,test-ldflags,test-linkshared,test-list,test-memprofile,test-memprofilerate,test-mod,test-modcacherw,test-modfile,test-msan,test-mutexprofile,test-mutexprofilefraction,test-n,test-o,test-outputdir,test-overlay,test-p,test-parallel,test-pgo,test-pkgdir,test-race,test-run,test-short,test-shuffle,test-skip,test-tags,test-test.bench,test-test.benchmem,test-test.benchtime,test-test.blockprofile,test-test.blockprofilerate,test-test.count,test-test.coverprofile,test-test.cpu,test-test.cpuprofile,test-test.failfast,test-test.fullpath,test-test.fuzz,test-test.fuzzminimizetime,test-test.fuzztime,test-test.list,test-test.memprofile,test-test.memprofilerate,test-test.mutexprofile,test-test.mutexprofilefraction,test-test.outputdir,test-test.parallel,test-test.run,test-test.short,test-test.shuffle,test-test.skip,test-test.timeout,test-test.trace,test-test.v,test-timeout,test-toolexec,test-trace,test-trimpath,test-v,test-vet,test-work,test-x,test.bench,test.benchmem,test.benchtime,test.blockprofile,test.blockprofilerate,test.count,test.coverprofile,test.cpu,test.cpuprofile,test.failfast,test.fullpath,test.fuzz,test.fuzzcachedir,test.fuzzminimizetime,test.fuzztime,test.fuzzworker,test.gocoverdir,test.list,test.memprofile,test.memprofilerate,test.mutexprofile,test.mutexprofilefraction,test.outputdir,test.paniconexit0,test.parallel,test.run,test.short,test.shuffle,test.skip,test.testlogfile,test.timeout,test.trace,test.v,testsum,testwork,tool-C,tool-n,update,version-C,version-m,version-v,vet-C,vet-a,vet-asan,vet-asmflags,vet-buildmode,vet-buildvcs,vet-compiler,vet-debug-actiongraph,vet-debug-runtime-trace,vet-debug-trace,vet-gccgoflags,vet-gcflags,vet-installsuffix,vet-ldflags,vet-linkshared,vet-mod,vet-modcacherw,vet-modfile,vet-msan,vet-n,vet-overlay,vet-p,vet-pgo,vet-pkgdir,vet-race,vet-tags,vet-toolexec,vet-trimpath,vet-v,vet-vettool,vet-work,vet-x,work-edit-C,work-edit-dropreplace,work-edit-dropuse,work-edit-fmt,work-edit-go,work-edit-json,work-edit-print,work-edit-replace,work-edit-toolchain,work-edit-use,work-init-C,work-init-modcacherw,work-init-modfile,work-init-overlay,work-sync-C,work-sync-modcacherw,work-sync-modfile,work-sync-overlay,work-use-C,work-use-modcacherw,work-use-modfile,work-use-overlay,work-use-r,work-vendor-C,work-vendor-e,work-vendor-modcacherw,work-vendor-modfile,work-vendor-o,work-vendor-overlay,work-vendor-v}
description: Flag names of flags provided to the Go command
type: histogram
issue: https://go.dev/issue/66210
program: cmd/go
version: v1.23.0
---
title: Subcommands invoked
counter: go/subcommand:{bug,build,clean,doc,env,fix,fmt,generate,get,help,help-bug,help-build,help-buildconstraint,help-buildmode,help-c,help-cache,help-clean,help-doc,help-env,help-environment,help-filetype,help-fix,help-fmt,help-generate,help-get,help-go.mod,help-gopath,help-goproxy,help-importpath,help-install,help-list,help-mod,help-mod-download,help-mod-edit,help-mod-graph,help-mod-init,help-mod-tidy,help-mod-vendor,help-mod-verify,help-mod-why,help-module-auth,help-modules,help-packages,help-private,help-run,help-test,help-testflag,help-testfunc,help-tool,help-vcs,help-version,help-vet,help-work,help-work-edit,help-work-init,help-work-sync,help-work-use,help-work-vendor,install,list,mod-download,mod-edit,mod-graph,mod-help-download,mod-help-edit,mod-help-graph,mod-help-init,mod-help-tidy,mod-help-vendor,mod-help-verify,mod-help-why,mod-init,mod-tidy,mod-vendor,mod-verify,mod-why,run,test,tool,unknown,version,vet,work-edit,work-help-edit,work-help-init,work-help-sync,work-help-use,work-help-vendor,work-init,work-sync,work-use,work-vendor}
description: Go subcommand invocations
type: histogram
issue: https://go.dev/issue/66210
program: cmd/go
version: v1.23.0
```


### New or Update

New