// Copyright 2023 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Code generated by TestDocHelp; DO NOT EDIT.

// Gotelemetry is a tool for managing Go telemetry data and settings.
//
// Usage:
//
//	gotelemetry <command> [arguments]
//
// The commands are:
//
//	on	enable telemetry collection and uploading
//	local	enable telemetry collection but disable uploading
//	off	disable telemetry collection and uploading
//	view	run a web viewer for local telemetry data
//	env	print the current telemetry environment
//
// Use "gotelemetry help <command>" for details about any command.
//
// The following additional commands are available for diagnostic
// purposes, and may change or be removed in the future:
//
//	csv	print all known counters
//	dump	view counter file data
package main
