Spoločnosť Google plánuje pridať zber telemetrie do nástrojového vybavenia jazyka Go a predvolene povoliť odosielanie zozbieraných údajov. Telemetria sa bude týkať príkazových nástrojov, ktoré vyvíja tím vývojárov jazyka Go, ako je nástroj „go“, kompilátor, aplikácie gopls a govulncheck. Zber informácií bude obmedzený iba na zhromažďovanie údajov o funkčnosti nástrojov, t.j. telemetria nebude pridaná do používateľských aplikácií vytváraných pomocou nástroja.
Ako motiváciu zberu telemetrie uvádzajú snahu získať chýbajúce informácie o potrebách a špecifikách práce vývojárov, ktoré sa nedarí zachytiť pomocou metód spätnej väzby, ako sú hlásenia o chybách a prieskumy. Zber telemetrie pomôže odhaliť anomálie a nesprávne správanie, hodnotiť vlastnosti interakcie vývojárov s nástrojovým vybavením a pochopiť, ktoré možnosti sú najvyžadovanejšie a ktoré sa takmer nepoužívajú. Očakáva sa, že nahromadená štatistika umožní modernizáciu nástroja, zvýši efektívnosť a pohodlnosť práce a zdôrazní jednotlivé aspekty potrebné pre vývojárov.
Na zber údajov bola navrhnutá nová architektúra „transparentnej telemetrie“ (transparent telemetry), ktorá má za cieľ poskytnúť možnosť nezávislého verejného auditu získaných údajov a zbierať iba minimálne potrebné zhrnuté informácie, aby sa zabránilo úniku stôp s podrobnými informáciami o aktivitách používateľov. Napríklad pri hodnotení prevádzky spotrebovanej nástrojom sa plánuje zohľadniť také metriky, ako je počet prenesených dát v kilobajtoch za celý rok. Všetky zozbierané údaje budú sprístupnené na verejné prezeranie a analýzu. Na vypnutie odosielania telemetrie bude potrebné nastaviť premennú prostredia „GOTELEMETRY=off“.
Kľúčové princípy budovania transparentnej telemetrie:
- Rozhodnutia o zbieraných metrikách budú prijímané v rámci otvoreného verejného procesu.
- Konfigurácia zberu telemetrie bude automaticky generovaná na základe zoznamu aktívne sledovaných metrík, bez zbierania údajov, ktoré nie sú s týmito metrikami spojené.
- Konfigurácia zberu telemetrie bude spravovaná v transparentnom audítorskom zázname s overiteľnými záznamami, čo sťažuje selektívne uplatňovanie rôznych nastavení zberu pre rôzne systémy.
- Konfigurácia zberu telemetrie bude realizovaná ako cacheovateľný proxy Go modul, ktorý sa môže automaticky aplikovať v systémoch s už používanými lokálnymi Go proxy. Načítanie konfigurácie telemetrie sa bude iniciovať nie častejšie ako raz za týždeň s pravdepodobnosťou 10 % (t.j. každý systém načíta konfiguráciu približne 5-krát ročne).
- Prenášané na externé servery informácie budú zahŕňať iba celkové počítadlá, zohľadňujúce štatistiku za celý týždeň a nie viazané na konkrétny čas.
- Odovzdávané správy nebudú zahŕňať žiadne formy identifikátorov systémov a používateľov.
- Odovzdávané správy budú obsahovať iba riadky, ktoré sú už známe na serveri, t.j. názvy počítadiel, mená štandardných programov, známe čísla verzií, mená funkcií v štandardných nástrojoch (pri odosielaní zásobníkových trasovaní). Nestrunové údaje budú obmedzené na počítadlá, dátumy a počet riadkov.
- IP adresy Žiadosti smerujúce k serverom telemetrie nebudú ukladané do záznamov.
- Na získanie potrebnej vzorky je plánované zbierať 16 tisíc správ týždenne, čo v podmienkach prítomnosti dvoch miliónov inštalácií nástroja vyžaduje každý týždeň odosielať správy len z 2 % systémov.
- Zbierané metriky v agregovanej forme budú publikované verejne v grafickej a tabuľkovej podobe. Taktiež budú publikované plné základné údaje, zhromaždené počas zberu telemetrie.
- Zber telemetrie bude zapnutý predvolene, ale bude poskytnutý jednoduchý spôsob na vypnutie.
Zdroj: opennet.ru
