Google bercadang untuk menambah telemetri pada kit alat Go

Google merancang untuk menambah koleksi telemetri pada kit alat bahasa Go dan membolehkan penghantaran data yang dikumpul secara lalai. Telemetri akan merangkumi utiliti baris arahan yang dibangunkan oleh pasukan bahasa Go, seperti utiliti "go", pengkompil, aplikasi gopls dan govulncheck. Pengumpulan maklumat akan dihadkan hanya kepada pengumpulan maklumat tentang ciri pengendalian utiliti, i.e. telemetri tidak akan ditambahkan pada aplikasi tersuai yang dikumpul menggunakan kit alat.

Motif untuk mengumpul telemetri adalah keinginan untuk mendapatkan maklumat yang hilang tentang keperluan dan ciri kerja pemaju, yang tidak dapat ditangkap menggunakan mesej ralat dan tinjauan sebagai kaedah maklum balas. Mengumpul telemetri akan membantu dalam mengenal pasti anomali dan tingkah laku yang tidak normal, menilai keanehan interaksi antara pembangun dan alatan, dan memahami pilihan yang paling banyak diminta dan yang hampir tidak pernah digunakan. Dijangkakan bahawa statistik terkumpul akan memungkinkan untuk memodenkan alatan, meningkatkan kecekapan dan kemudahan penggunaan, dan menumpukan perhatian khusus pada keupayaan yang diperlukan oleh pembangun.

Untuk pengumpulan data, seni bina baharu "telemetri telus" telah dicadangkan, bertujuan untuk menyediakan kemungkinan audit awam bebas terhadap data yang diterima dan hanya mengumpul maklumat umum minimum yang diperlukan untuk mengelakkan kebocoran jejak dengan maklumat terperinci tentang aktiviti pengguna. Sebagai contoh, apabila menilai trafik yang digunakan oleh kit alat, ia dirancang untuk mengambil kira metrik seperti kaunter data dalam kilobait untuk sepanjang tahun. Semua data yang dikumpul akan diterbitkan secara terbuka untuk pemeriksaan dan analisis. Untuk melumpuhkan penghantaran telemetri, anda perlu menetapkan pembolehubah persekitaran "GOTELEMETRY=off".

Prinsip utama untuk membina telemetri lutsinar:

  • Keputusan tentang metrik yang dikumpul akan dibuat melalui proses terbuka dan terbuka.
  • Konfigurasi pengumpulan telemetri akan dijana secara automatik berdasarkan senarai metrik yang dipantau secara aktif, tanpa mengumpul data yang tidak berkaitan dengan metrik tersebut.
  • Konfigurasi pengumpulan telemetri akan dikekalkan dalam log audit yang telus dengan rekod yang boleh disahkan, yang akan merumitkan aplikasi terpilih tetapan pengumpulan yang berbeza untuk sistem yang berbeza.
  • Konfigurasi pengumpulan telemetri akan dalam bentuk modul Go yang boleh dicache dan diproksikan yang boleh digunakan secara automatik dalam sistem dengan proksi Go tempatan yang sudah digunakan. Muat turun konfigurasi telemetri akan dimulakan tidak lebih daripada sekali seminggu dengan kebarangkalian 10% (iaitu, setiap sistem akan memuat turun konfigurasi kira-kira 5 kali setahun).
  • Maklumat yang dihantar ke pelayan luaran hanya akan termasuk kaunter akhir yang mengambil kira statistik selama seminggu penuh dan tidak terikat pada masa tertentu.
  • Laporan yang dihantar tidak akan termasuk sebarang bentuk sistem atau pengecam pengguna.
  • Laporan yang dihantar hanya akan mengandungi baris yang sudah diketahui pada pelayan, i.e. nama pembilang, nama program standard, nombor versi yang diketahui, nama fungsi dalam utiliti kit alat standard (semasa menghantar surih tindanan). Data bukan rentetan akan dihadkan kepada pembilang, tarikh dan bilangan baris.
  • Alamat IP dari mana pelayan telemetri diakses tidak akan disimpan dalam log.
  • Untuk mendapatkan sampel yang diperlukan, ia dirancang untuk mengumpul 16 ribu laporan setiap minggu, yang, memandangkan kehadiran dua juta pemasangan kit alat, akan memerlukan penghantaran laporan setiap minggu daripada hanya 2% daripada sistem.
  • Metrik yang dikumpul dalam bentuk agregat akan diterbitkan secara terbuka dalam format grafik dan jadual. Data mentah penuh yang terkumpul semasa proses pengumpulan telemetri juga akan diterbitkan.
  • Pengumpulan telemetri akan didayakan secara lalai, tetapi akan menyediakan cara mudah untuk melumpuhkannya.

Sumber: opennet.ru

Tambah komen