diff options
author | Michael Matloob <matloob@golang.org> | 2024-04-30 16:23:24 -0400 |
---|---|---|
committer | Michael Matloob <matloob@golang.org> | 2024-05-01 17:37:58 +0000 |
commit | 660a071906a3f010a947457521b7671041b5f737 (patch) | |
tree | ea40b1ec5e72a81fdbcce76edcf1c1e0083437d7 | |
parent | c5698e31552953a0487ec23e0a015c02067065d3 (diff) | |
download | go-660a071906a3f010a947457521b7671041b5f737.tar.gz go-660a071906a3f010a947457521b7671041b5f737.zip |
cmd/internal/telemetry: add NewStackCounter functions
This CL adds a wrapper for the golang.org/x/telemetry/counter.NewStack
function so that it can be used by the compiler.
Also add build constraints for compiler_bootstrap to build the stubs
when we're bootstrapping the compiler.
For #58894
Change-Id: Icdbdd7aa6d2a3f1147112739c6939e14414f5ee9
Cq-Include-Trybots: luci.golang.try:gotip-linux-arm64-longtest,gotip-windows-amd64-longtest
Reviewed-on: https://go-review.googlesource.com/c/go/+/582695
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Sam Thanawalla <samthanawalla@google.com>
-rw-r--r-- | src/cmd/internal/telemetry/telemetry.go | 12 | ||||
-rw-r--r-- | src/cmd/internal/telemetry/telemetry_bootstrap.go | 13 |
2 files changed, 18 insertions, 7 deletions
diff --git a/src/cmd/internal/telemetry/telemetry.go b/src/cmd/internal/telemetry/telemetry.go index 0e223442ff..d31f0eeff3 100644 --- a/src/cmd/internal/telemetry/telemetry.go +++ b/src/cmd/internal/telemetry/telemetry.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !cmd_go_bootstrap +//go:build !cmd_go_bootstrap && !compiler_bootstrap // Package telemetry is a shim package around the golang.org/x/telemetry // and golang.org/x/telemetry/counter packages that has code build tagged @@ -38,14 +38,24 @@ func StartWithUpload() { }) } +// Inc increments the counter with the given name. func Inc(name string) { counter.Inc(name) } +// NewCounter returns a counter with the given name. func NewCounter(name string) *counter.Counter { return counter.New(name) } +// NewStack returns a new stack counter with the given name and depth. +func NewStackCounter(name string, depth int) *counter.StackCounter { + return counter.NewStack(name, depth) +} + +// CountFlags creates a counter for every flag that is set +// and increments the counter. The name of the counter is +// the concatenation of prefix and the flag name. func CountFlags(prefix string, flagSet flag.FlagSet) { counter.CountFlags(prefix, flagSet) } diff --git a/src/cmd/internal/telemetry/telemetry_bootstrap.go b/src/cmd/internal/telemetry/telemetry_bootstrap.go index 9fb03507d9..2e127bec28 100644 --- a/src/cmd/internal/telemetry/telemetry_bootstrap.go +++ b/src/cmd/internal/telemetry/telemetry_bootstrap.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build cmd_go_bootstrap +//go:build cmd_go_bootstrap || compiler_bootstrap package telemetry @@ -12,8 +12,9 @@ type dummyCounter struct{} func (dc dummyCounter) Inc() {} -func Start() {} -func StartWithUpload() {} -func Inc(name string) {} -func NewCounter(name string) dummyCounter { return dummyCounter{} } -func CountFlags(name string, flagSet flag.FlagSet) {} +func Start() {} +func StartWithUpload() {} +func Inc(name string) {} +func NewCounter(name string) dummyCounter { return dummyCounter{} } +func NewStackCounter(name string, depth int) dummyCounter { return dummyCounter{} } +func CountFlags(name string, flagSet flag.FlagSet) {} |