LinuxCommandLibrary

gotelemetry

Collect and send Go program telemetry

TLDR

Enable telemetry uploading

$ gotelemetry on
copy

Disable telemetry uploading
$ gotelemetry off
copy

Run a Web Viewer for local telemetry data
$ gotelemetry view
copy

Print the current telemetry environment
$ gotelemetry env
copy

Display help for a specific subcommand
$ gotelemetry help [subcommand]
copy

SYNOPSIS

gotelemetry

DESCRIPTION

The gotelemetry command is a lightweight utility script, primarily available as an Arch Linux AUR package, designed to disable telemetry data collection in the Go programming language toolchain.

Since Go 1.18, the Go team introduced opt-in anonymous usage telemetry to improve the language and tools. This data is stored in ~/.config/go/telemetry.json and includes metrics on builds, tests, and module usage, sent periodically to Google servers.

gotelemetry simplifies opting out by:
- Removing all telemetry.json* files from the user's Go config directory.
- Appending export GOTELEMETRY=off to the user's ~/.profile (or equivalent shell profile) to persistently disable telemetry via environment variable.

It requires no arguments and provides feedback like 'Go telemetry disabled. Please log out and log back in.' This tool is unofficial but popular among privacy-conscious users who prefer not to contribute data. Note that Go's telemetry is already opt-in by default, but once enabled (e.g., after first run), this script ensures permanent disablement across sessions.

CAVEATS

Modifies user files (~/.profile, ~/.config/go/); requires logout/relogin for env var effect. Not an official Go tool; use at own risk on non-Arch systems.

OFFICIAL ALTERNATIVES

Set env var manually: export GOTELEMETRY=off or go env -w GOTELEMETRY=off. Delete ~/.config/go/telemetry.json*.

INSTALLATION

Arch: yay -S gotelemetry or equivalent AUR helper. Source available on GitHub/AUR.

HISTORY

Developed around 2022 coinciding with Go 1.18 telemetry introduction. Maintained as AUR package (gotelemetry) for Arch Linux users, with updates tracking Go releases.

SEE ALSO

go(1), bash(1)

Copied to clipboard