Telemetry in Go 1.23 and Beyond
Go 1.23 introduces optional telemetry for sharing toolchain usage data, enhancing bug identification and reliability. Participation has increased through the VS Code Go plugin, with future expansions planned.
Read original articleGo 1.23 introduces a new telemetry feature that allows users to share data about the Go toolchain's usage with the development team. This data aims to help contributors identify bugs, prevent regressions, and make informed decisions. By default, telemetry data is stored locally, but users can opt to upload a limited subset of this data weekly by using the command `go telemetry on`. The design of this telemetry system underwent several iterations to ensure it was unobtrusive and privacy-preserving, ultimately requiring explicit user consent for remote data sharing. The initial implementation in the Go language server, gopls, began in October 2023, with around 100 users participating initially. To increase participation, a prompt was introduced in the VS Code Go plugin, which has since expanded the sample size to approximately 1,800 weekly participants. The telemetry has already proven beneficial, uncovering previously unknown bugs and improving the reliability of gopls. Future plans include expanding telemetry to other tools within the Go ecosystem and enhancing the metrics collected to better understand user experiences. Overall, telemetry is expected to significantly aid in the ongoing development and improvement of Go.
- Go 1.23 introduces optional telemetry for sharing toolchain usage data.
- Users can enable or disable telemetry data collection with simple commands.
- Initial telemetry implementation in gopls has already identified bugs and improved reliability.
- A prompt in the VS Code Go plugin has increased user participation in telemetry.
- Future expansions of telemetry are planned to enhance the Go ecosystem further.
Related
Go 1.23: Interactive release notes
Go 1.23 introduces interactive release notes with enhanced sequence iteration using iterators like Seq and Seq2. It formalizes iterator types, improves time.Timer behavior, and offers memory optimization tools.
Show HN: Telemetry.sh – Simplifying Telemetry Measurement
Telemetry provides a solution for measuring data in applications without infrastructure management, allowing users to log events, perform SQL queries, analyze data, and collaborate efficiently.
Go 1.23 Release Notes
Go 1.23, releasing in August 2024, introduces features like "range-over-func," generic type aliases, a telemetry system, improved timers, and new packages, enhancing performance and developer experience.
Go 1.23
Go 1.23 has been released with enhancements to the toolchain, runtime, and libraries, including the "range-over-func" feature, opt-in telemetry, and updates to the standard library for improved performance.
Go automatically downloads a newer toolchain if needed
Go now automatically downloads newer toolchains from version 1.21, allowing users to manage toolchain versions via the GOTOOLCHAIN variable, with security measures in place to ensure safe downloads.
go telemetry on
This should have been the solution all along.Now, those who need can toggle enable it as needed in a simple fashion.
No global OPT-OUT or OPT-IN, no drama!
Related
Go 1.23: Interactive release notes
Go 1.23 introduces interactive release notes with enhanced sequence iteration using iterators like Seq and Seq2. It formalizes iterator types, improves time.Timer behavior, and offers memory optimization tools.
Show HN: Telemetry.sh – Simplifying Telemetry Measurement
Telemetry provides a solution for measuring data in applications without infrastructure management, allowing users to log events, perform SQL queries, analyze data, and collaborate efficiently.
Go 1.23 Release Notes
Go 1.23, releasing in August 2024, introduces features like "range-over-func," generic type aliases, a telemetry system, improved timers, and new packages, enhancing performance and developer experience.
Go 1.23
Go 1.23 has been released with enhancements to the toolchain, runtime, and libraries, including the "range-over-func" feature, opt-in telemetry, and updates to the standard library for improved performance.
Go automatically downloads a newer toolchain if needed
Go now automatically downloads newer toolchains from version 1.21, allowing users to manage toolchain versions via the GOTOOLCHAIN variable, with security measures in place to ensure safe downloads.