Google tiene la intención de agregar telemetría a Go
Hace poco se dio a conocer la noticia de que, Google planea agregar la recopilación de telemetría el envío de los datos recopilados de forma predeterminada en el lenguaje de programación GO.
La telemetría cubrirá las utilidades de línea de comandos desarrolladas por el equipo de desarrollo del lenguaje Go, como la utilidad «go», el compilador, las aplicaciones gopls y govulncheck. La recopilación de información se limitará solo a la acumulación de información sobre las características de los servicios públicos, es decir la telemetría no se agregará a las aplicaciones creadas.
Me gustaría explorar el uso de telemetría transparente, o un sistema similar, en la cadena de herramientas de Go, que espero ayude a los desarrolladores y usuarios de proyectos de Go por igual. Para ser claros, solo sugiero que la instrumentación se agregue a las herramientas de línea de comandos de Go escritas y distribuidas por el equipo de Go
El motivo para recopilar telemetría, es el deseo de obtener la información faltante sobre las necesidades y características del trabajo de los desarrolladores que no se puede detectar mediante mensajes de error y encuestas como método de retroalimentación.
La recopilación de telemetría ayudará a identificar anomalías y comportamientos anormales, evaluar cómo los desarrolladores interactúan con el conjunto de herramientas y comprender qué opciones tienen más demanda y cuáles casi nunca se usan. Se espera que las estadísticas acumuladas permitan modernizar el conjunto de herramientas, mejoren la eficiencia y la comodidad del trabajo y presten especial atención a las capacidades necesarias para los desarrolladores.
Para la recopilación de datos, se ha propuesto una nueva arquitectura de «telemetría transparente», destinada a brindar la posibilidad de una auditoría pública independiente de los datos recibidos y recopilar solo la información generalizada mínima necesaria para evitar la fuga de rastros con información detallada sobre la actividad del usuario.
Por ejemplo, al evaluar el tráfico consumido por el conjunto de herramientas, se planea tener en cuenta métricas como el contador de datos en kilobytes para todo el año. Todos los datos recopilados se publicarán en el dominio público para su inspección y análisis. Para deshabilitar el envío de telemetría, debe configurar la variable de entorno «GOTELEMETRY=off».
En el comunicado, se mencionan los principios clave para construir una telemetría transparente:
- Las decisiones sobre las métricas recopiladas se tomarán a través de un proceso público abierto.
- La configuración de recopilación de telemetría se generará automáticamente en función de la lista de métricas monitoreadas activamente, sin recopilar datos que no estén asociados con estas métricas.
- La configuración de recopilación de telemetría se mantendrá en un registro de auditoría transparente con registros verificables, lo que dificultará la aplicación selectiva de diferentes configuraciones de recopilación para diferentes sistemas.
- La configuración de recopilación de telemetría tendrá la forma de un módulo Go con proxy en caché, que se puede usar automáticamente en sistemas con servidores proxy Go locales que ya están en uso. La descarga de la configuración de telemetría se iniciará no más de una vez por semana con una probabilidad del 10 % (es decir, cada sistema descargará la configuración unas 5 veces al año).
- La información transmitida a servidores externos incluirá solo contadores totales que toman en cuenta estadísticas en el contexto de una semana completa y no están vinculados a un tiempo específico.
- Los informes enviados no incluirán ningún tipo de sistema o identificadores de usuario.
- Los informes enviados solo contendrán cadenas que ya se conocen en el servidor, es decir nombre de contadores, nombres de programas típicos, números de versión conocidos, nombres de funciones en las utilidades regulares del kit de herramientas (cuando se envían seguimientos de pila). Los datos que no sean cadenas se limitarán a contadores, fechas y recuentos de filas.
- Las direcciones IP desde las que se accede a los servidores de telemetría no se almacenarán en los registros.
- Para obtener la muestra requerida, se prevé recopilar 16.000 informes por semana, lo que, dada la presencia de dos millones de instalaciones de la herramienta, requerirá el envío de informes cada semana desde solo el 2% de los sistemas.
- Las métricas recopiladas en forma agregada se publicarán públicamente en presentaciones gráficas y tabulares.
- También se publicarán los datos iniciales completos acumulados durante la recopilación de telemetría.
- La recopilación de telemetría estará habilitada de manera predeterminada, pero se proporcionará una manera fácil de deshabilitarla.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.