Компания Google планирует добавить сбор телеметрии в инструментарий языка Go и включить по умолчанию отправку собранных данных. Телеметрия будет охватывать утилиты командной строки, развиваемые командой разработчиков языка Go, такие как утилита "go", компилятор, приложения gopls и govulncheck. Сбор сведений будет ограничен только накоплением информации об особенностях работы утилит, т.е. телеметрия не будет добавляться в пользовательские приложения, собираемые при помощи инструментария.
В качестве мотива сбора телеметрии называется желание получить недостающую информацию о потребностях и особенностях работы разработчиков, которую не удаётся уловить, используя как метод обратной связи сообщения об ошибках и опросы. Сбор телеметрии поможет в выявлении аномалий и нештатного поведения, оценке особенности взаимодействия разработчиков с инструментарием и понимании какие опции наиболее востребованы, а какие почти не используются. Ожидается, что накопленная статистика даст возможность модернизировать инструментарий, позволит повысить эффективность и удобство работы, акцентирует отдельное внимание на необходимых разработчикам возможностях.
Для сбора данных предложена новая архитектура "прозрачной телеметрии" (transparent telemetry), направленная на предоставление возможности независимого общественного аудита получаемых данных и сбор только минимально необходимых обобщённых сведений, чтобы недопустить утечки следов с детальной информацией об активности пользователей. Например, при оценке потребляемого инструментарием трафика планируется учитывать такие метрики, как счётчик данных в килобайтах за весь год. Все собранные данные будут публиковаться в открытом доступе для инспектирования и анализа. Для отключения отправки телеметрии потребуется установить переменную окружения "GOTELEMETRY=off".
Ключевые принципы построения прозрачной телеметрии:
- Решения о собираемых метриках будут приниматься в рамках открытого публичного процесса.
- Конфигурация сбора телеметрии будет автоматически генерироваться на основе списка активно отслеживаемых метрик, без сбора данных, не связанных с этими метриками.
- Конфигурация сбора телеметрии будет обслуживаться в прозрачном логе аудита с верифицируемыми записями, что усложнит выборочное применение разных настроек сбора для разных систем.
- Конфигурация сбора телеметрии будет оформлена в виде кэшируемого проксируемого Go-модуля, который сможет автоматически применяться в системах с уже используемыми локальными Go-прокси. Загрузка конфигурация телеметрии будет инициироваться не чаще раза в неделю с вероятностью в 10% (т.е. каждая система будет загружать конфигурацию около 5 раз в год).
- Передаваемые на внешние серверы сведения будут включать только итоговые счётчики, учитывающие статистику в разрезе полной недели и не привязанные к конкретному времени.
- Отправляемые отчёты не будут включать какие-либо формы идентификаторов систем и пользователей.
- Отправляемые отчёты будут содержать только строки, которые уже известны на сервере, т.е. название счётчиков, имена типовых программ, известные номера версий, имена функций в штатных утилитах инструментария (при отправке трассировок стека). Нестроковые данные будут ограничены счётчиками, датами и числом строк.
- IP-адреса с которые осуществляются обращение к серверам телеметрии не будут сохраняться в логах.
- Для получения необходимой выборки планируется собирать 16 тысяч отчётов в неделю, что в условии наличия двух миллионов установок инструментария потребует каждую неделю отправки отчётов лишь с 2% систем.
- Собранные метрики в агрегированной форме будут публиковаться публично в графическом и табличном представлениях. Также будут публиковаться полные исходные данные, накопленные в процессе сбора телеметрии.
- Сбор телеметрии будет включён по умолчанию, но будет предоставлен простой способ для отключения.
// cc-by opennet.ru
// converted with crypt’s opennet autoreposter
>>> Подробности