This repository holds the Go Telemetry server code and libraries, used for hosting telemetry.go.dev and instrumenting Go toolchain programs with opt-in telemetry.
Warning: this repository is intended for use only in tools maintained by the Go team, including tools in the Go distribution and auxiliary tools like gopls or govulncheck. There are no compatibility guarantees for any of the packages here: public APIs will change in breaking ways as the telemetry integration is refined.
- The x/telemetry/counter package provides a library for instrumenting programs with counters and stack reports.
- The x/telemetry/upload package provides a hook for Go toolchain programs to upload telemetry data, if the user has opted in to telemetry uploading.
- The x/telemetry/cmd/gotelemetry command is used for managing telemetry data and configuration.
- The x/telemetry/config package defines the subset of telemetry data that has been approved for uploading by the telemetry proposal process.
- The x/telemetry/godev directory defines the services running at telemetry.go.dev.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/telemetry.
The main issue tracker for the telemetry repository is located at https://go.dev/issues. Prefix your issue with "x/telemetry:" in the subject line, so it is easy to find.
This repository uses eslint to format TS files, stylelint to format CSS files, and prettier to format TS, CSS, Markdown, and YAML files.
See the style guides:
It is encouraged that all TS and CSS code be run through formatters before submitting a change. However, it is not a strict requirement enforced by CI.
- Install docker
- Run
./npm install
./npm run all