package telemetry

import "cmd/internal/telemetry"

Package telemetry is a shim package around the golang.org/x/telemetry and golang.org/x/telemetry/counter packages that has code build tagged out for cmd_go_bootstrap so that the bootstrap Go command does not depend on net (which is a dependency of golang.org/x/telemetry/counter on Windows).

Index

Functions

func CountFlagValue

func CountFlagValue(prefix string, flagSet flag.FlagSet, flagName string)

CountFlagValue creates a counter for the flag value if it is set and increments the counter. The name of the counter is the concatenation of prefix, the flagName, ":", and value.String() for the flag's value.

func CountFlags

func CountFlags(prefix string, flagSet flag.FlagSet)

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 Dir

func Dir() string

Dir returns the telemetry directory.

func Inc

func Inc(name string)

Inc increments the counter with the given name.

func MaybeChild

func MaybeChild()

MaybeChild executes the telemetry child logic if the calling program is the telemetry child process, and does nothing otherwise. It is meant to be called as the first thing in a program that uses telemetry.OpenCounters but cannot call telemetry.OpenCounters immediately when it starts.

func MaybeParent

func MaybeParent()

MaybeParent does a once a day check to see if the weekly reports are ready to be processed or uploaded, and if so, starts the telemetry child to do so. It should only be called by cmd/go, and only after OpenCounters and MaybeChild have already been called.

func Mode

func Mode() string

Mode returns the current telemetry mode.

The telemetry mode is a global value that controls both the local collection and uploading of telemetry data. Possible mode values are:

When mode is "on", or "local", telemetry data is written to the local file system and may be inspected with the gotelemetry command.

If an error occurs while reading the telemetry mode from the file system, Mode returns the default value "local".

func NewCounter

func NewCounter(name string) *counter.Counter

NewCounter returns a counter with the given name.

func NewStackCounter

func NewStackCounter(name string, depth int) *counter.StackCounter

NewStackCounter returns a new stack counter with the given name and depth.

func OpenCounters

func OpenCounters()

OpenCounters opens the counter files for writing if telemetry is supported on the current platform (and does nothing otherwise).

func SetMode

func SetMode(mode string) error

SetMode sets the global telemetry mode to the given value.

See the documentation of Mode for a description of the supported mode values.

An error is returned if the provided mode value is invalid, or if an error occurs while persisting the mode value to the file system.

Source Files

telemetry.go

Version
v1.23.0-rc.1
Published
Jun 20, 2024
Platform
js/wasm
Imports
4 packages
Last checked
3 minutes ago

Tools for package owners.