Go é uma linguagem de programação compilada concorrente com tipagem estática inspirada na sintaxe C.
A notícia quebrou recentemente que Google planeja adicionar coleta de telemetria enviando dados coletados por padrão na linguagem de programação GO.
Telemetria abordará utilitários de linha de comando desenvolvido pela equipe de desenvolvimento da linguagem Go, como o utilitário "go", o compilador, os aplicativos gopls e govulncheck. A coleta de informações será limitada apenas ao acúmulo de informações sobre as características dos serviços públicos, ou seja, a telemetria não será adicionada aos aplicativos criados.
Gostaria de explorar o uso de telemetria transparente, ou um sistema semelhante, na cadeia de ferramentas Go, que espero que ajude desenvolvedores e usuários de projetos Go. Para ser claro, estou apenas sugerindo que a instrumentação seja adicionada às ferramentas de linha de comando Go escritas e distribuídas pela equipe Go.
O motivo para coletar telemetria, é o desejo de obter as informações que faltam sobre as necessidades e características do trabalho dos desenvolvedores que não podem ser detectados usando mensagens de erro e pesquisas como método de feedback.
coleta de telemetria ajudará a identificar anomalias e comportamentos anormais, Avalie como os desenvolvedores interagem com o conjunto de ferramentas e entenda quais opções são mais procuradas e quais são raramente usadas. Espera-se que as estatísticas acumuladas permitam modernizar o conjunto de ferramentas, melhorar a eficiência e o conforto do trabalho e dar atenção especial às habilidades necessárias para os desenvolvedores.
Para coleta de dados, uma nova arquitetura de "telemetria transparente" foi proposta, destina-se a fornecer a possibilidade de uma auditoria pública independente dos dados recebidos e coletar apenas o mínimo de informações generalizadas necessárias para evitar o vazamento de rastros com informações detalhadas sobre a atividade do usuário.
Por exemplo, ao avaliar o tráfego consumido pelo conjunto de ferramentas, planeja-se levar em consideração métricas como o contador de dados em kilobytes para o ano inteiro. Todos os dados coletados serão publicados em domínio público para inspeção e análise. Para desativar o envio de telemetria, você deve definir a variável de ambiente “GOTELEMETRY=off”.
Na declaração, menciona os princípios-chave para construir uma telemetria transparente:
- As decisões sobre as métricas coletadas serão feitas por meio de um processo público aberto.
- As configurações de coleta de telemetria serão geradas automaticamente com base na lista de métricas monitoradas ativamente, sem coletar dados que não estejam associados a essas métricas.
- As configurações de coleta de telemetria serão mantidas em uma trilha de auditoria transparente com registros verificáveis, dificultando a aplicação seletiva de diferentes configurações de coleta a sistemas diferentes.
- A configuração da coleta de telemetria assumirá a forma de um módulo proxy Go em cache, que pode ser usado automaticamente em sistemas com proxies Go locais já em uso. O download da configuração de telemetria começará não mais que uma vez por semana com uma probabilidade de 10% (ou seja, cada sistema fará o download da configuração cerca de 5 vezes por ano).
- As informações transmitidas para servidores externos incluirão apenas contadores totais que levam em consideração estatísticas no contexto de uma semana inteira e não estão vinculados a um horário específico.
- Os relatórios enviados não incluirão nenhum tipo de sistema ou identificadores de usuário.
- Os relatórios enviados conterão apenas strings que já são conhecidas no servidor, ou seja, nomes de contadores, nomes de programas típicos, números de versão conhecidos, nomes de funções em utilitários de kit de ferramentas regulares (quando rastreamentos de pilha são enviados). Dados não string serão limitados a contadores, datas e contagens de linhas.
- Os endereços IP dos quais os servidores de telemetria são acessados não serão armazenados nos logs.
- Para obter a amostra necessária, está prevista a coleta de 16.000 relatórios por semana, o que, dada a presença de dois milhões de instalações da ferramenta, exigirá o envio de relatórios a cada semana de apenas 2% dos sistemas.
- As métricas coletadas de forma agregada serão publicadas publicamente em apresentações gráficas e tabulares.
- Os dados iniciais completos acumulados durante a coleta de telemetria também serão publicados.
- A coleta de telemetria será habilitada por padrão, mas será fornecida uma maneira fácil de desativá-la.
Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir.