Google zamierza dodać telemetrię do zestawu narzędzi Go

Google planuje dodać zbieranie telemetrii do zestawu narzędzi językowych Go i domyślnie włączyć wysyłanie zebranych danych. Dane telemetryczne obejmą narzędzia wiersza poleceń opracowane przez zespół języka Go, takie jak narzędzie „go”, kompilator, aplikacje gopls i govulncheck. Gromadzenie informacji będzie ograniczone jedynie do gromadzenia informacji o cechach eksploatacyjnych mediów, tj. dane telemetryczne nie będą dodawane do aplikacji niestandardowych zebranych za pomocą zestawu narzędzi.

Motywem zbierania telemetrii jest chęć uzyskania brakujących informacji o potrzebach i cechach pracy programistów, których nie można uchwycić za pomocą komunikatów o błędach i ankiet jako metody informacji zwrotnej. Zbieranie danych telemetrycznych pomoże w identyfikowaniu anomalii i nietypowych zachowań, ocenie specyfiki interakcji między programistami a narzędziami oraz zrozumieniu, które opcje są najbardziej poszukiwane, a które prawie nigdy nie są używane. Oczekuje się, że zgromadzone statystyki pozwolą na unowocześnienie narzędzi, zwiększenie wydajności i łatwości obsługi oraz skupienie szczególnej uwagi na możliwościach potrzebnych programistom.

Do gromadzenia danych zaproponowano nową architekturę „przezroczystej telemetrii”, mającą na celu zapewnienie możliwości niezależnego publicznego audytu otrzymanych danych i zebranie jedynie minimalnej niezbędnej informacji uogólnionej, aby zapobiec wyciekowi śladów ze szczegółowymi informacjami o aktywności użytkownika. Na przykład przy ocenie ruchu zużywanego przez zestaw narzędzi planuje się uwzględnić takie wskaźniki, jak licznik danych w kilobajtach za cały rok. Wszystkie zebrane dane zostaną opublikowane publicznie w celu kontroli i analizy. Aby wyłączyć wysyłanie telemetrii, musisz ustawić zmienną środowiskową „GOTELEMETRY=off”.

Kluczowe zasady budowania przejrzystej telemetrii:

  • Decyzje dotyczące zebranych wskaźników zostaną podjęte w drodze otwartego, publicznego procesu.
  • Konfiguracja zbierania danych telemetrycznych zostanie wygenerowana automatycznie na podstawie listy aktywnie monitorowanych metryk, bez zbierania danych niezwiązanych z tymi metrykami.
  • Konfiguracja zbierania danych telemetrycznych będzie przechowywana w przejrzystym dzienniku audytu z możliwymi do sprawdzenia zapisami, co skomplikuje selektywne stosowanie różnych ustawień zbierania dla różnych systemów.
  • Konfiguracja zbierania danych telemetrycznych będzie miała postać buforowanego, proxy modułu Go, którego można automatycznie używać w systemach z już używanymi lokalnymi serwerami proxy Go. Pobieranie konfiguracji telemetrii będzie inicjowane nie częściej niż raz w tygodniu z prawdopodobieństwem 10% (czyli każdy system będzie pobierał konfigurację około 5 razy w roku).
  • Informacje przesyłane na serwery zewnętrzne będą zawierać wyłącznie liczniki końcowe, które uwzględniają statystyki za cały tydzień i nie są powiązane z konkretnym czasem.
  • Wysłane raporty nie będą zawierać żadnych identyfikatorów systemu ani użytkownika.
  • Wysyłane raporty będą zawierały tylko wiersze, które są już znane na serwerze, tj. nazwy liczników, nazwy programów standardowych, znane numery wersji, nazwy funkcji w standardowych narzędziach narzędziowych (podczas wysyłania śladów stosu). Dane inne niż ciągi będą ograniczone do liczników, dat i liczby wierszy.
  • Adresy IP, z których uzyskiwany jest dostęp do serwerów telemetrycznych, nie będą zapisywane w logach.
  • Aby uzyskać wymaganą próbę, planuje się zbieranie 16 tys. raportów tygodniowo, co przy obecności dwóch milionów instalacji zestawu narzędzi będzie wymagało wysyłania raportów tygodniowo jedynie z 2% systemów.
  • Zebrane wskaźniki w formie zagregowanej zostaną opublikowane publicznie w formatach graficznych i tabelarycznych. Opublikowane zostaną również pełne, surowe dane zgromadzone podczas procesu gromadzenia danych telemetrycznych.
  • Zbieranie danych telemetrycznych będzie domyślnie włączone, ale umożliwi łatwe wyłączenie tej opcji.

Źródło: opennet.ru

Dodaj komentarz