// 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
//	clean	remove all local telemetry data
//
// 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
//	upload	run upload with logging enabled
package main
