Google plans to Add Collection of telemetry in the GO language tools and include the default sending of the collected data. Telemetry will cover the command line utilities developed by the GO language development team, such as the GO utility, the compiler, Gopls and Govulncheck. The collection of information will be limited only by the accumulation of information about the features of the utility call, i.e. Telemetry will not be added to user applications collected using tools.
The desire to get the lack of information about the needs and features of the developers that is not able to catch using the motive of telemetry. As a feedback method of error messages and polls. The collection of telemetry will help to identify anomalies and emergency behavior, assess the features of the interaction of developers with tools and understanding which options are most in demand and which are almost not used. It is expected that the accumulated statistics will make it possible to modernize the tools, will increase the efficiency and ease of work, focus on the possibilities of the possibilities necessary for developers.
A new architecture of “Transparent Telemetry” is proposed to provide the possibility of an independent public audit of the data received and collect only the minimum necessary generalized information to prevent leaks with detailed information about user activity. For example, when evaluating the traffic consumed by the tools, it is planned to take into account the metrics such as the data counter in kilobytes for the whole year. All collected data will be published in the public domain for inspection and analysis. To turn off the sending of telemetry, it will be necessary to install the encirclement “Gotelemetry = OFF”.
Key principles for building transparent telemetry:
- Decisions on the collected metrics will be made as part of the open public process.
- The telemetry collection configuration will be automatically generated on the basis of a list of actively monitoring metrics, without collecting data not related to these metrics.
- The telemetry collection configuration will be served in a transparent audit log with verified records, which will complicate the selective use of different collection settings for different systems.
- The telemetry collection configuration will be designed in the form of a caching proxy module, which can automatically be used in systems with already used local Go-Proxes. Loading Telemetry Configuration will be initiated no more than once a week with a probability of 10% (i.e., each system will load the configuration about 5 times a year).
- information transmitted to external servers will include only the final meters, taking into account statistics in the context of the full week and not tied to a specific time.