Google намерен добавить телеметрию в инструментарий для языка Go

Компания Google планирует добавить сбор телеметрии в инструментарий языка Go и включить по умолчанию отправку собранных данных. Телеметрия будет охватывать утилиты командной строки, развиваемые командой разработчиков языка Go, такие как утилита «go», компилятор, приложения gopls и govulncheck. Сбор сведений будет ограничен только накоплением информации об особенностях работы утилит, т.е. телеметрия не будет добавляться в пользовательские приложения, собираемые при помощи инструментария.

В качестве мотива сбора телеметрии называется желание получить недостающую информацию о потребностях и особенностях работы разработчиков, которую не удаётся уловить, используя как метод обратной связи сообщения об ошибках и опросы. Сбор телеметрии поможет в выявлении аномалий и нештатного поведения, оценке особенности взаимодействия разработчиков с инструментарием и понимании какие опции наиболее востребованы, а какие почти не используются. Ожидается, что накопленная статистика даст возможность модернизировать инструментарий, позволит повысить эффективность и удобство работы, акцентирует отдельное внимание на необходимых разработчикам возможностях.

Для сбора данных предложена новая архитектура «прозрачной телеметрии» (transparent telemetry), направленная на предоставление возможности независимого общественного аудита получаемых данных и сбор только минимально необходимых обобщённых сведений, чтобы недопустить утечки следов с детальной информацией об активности пользователей. Например, при оценке потребляемого инструментарием трафика планируется учитывать такие метрики, как счётчик данных в килобайтах за весь год. Все собранные данные будут публиковаться в открытом доступе для инспектирования и анализа. Для отключения отправки телеметрии потребуется установить переменную окружения «GOTELEMETRY=off».

Ключевые принципы построения прозрачной телеметрии:

  • Решения о собираемых метриках будут приниматься в рамках открытого публичного процесса.

  • Конфигурация сбора телеметрии будет автоматически генерироваться на основе списка активно отслеживаемых метрик, без сбора данных, не связанных с этими метриками.

  • Конфигурация сбора телеметрии будет обслуживаться в прозрачном логе аудита с верифицируемыми записями, что усложнит выборочное применение разных настроек сбора для разных систем.
  • Конфигурация сбора телеметрии будет оформлена в виде кэшируемого проксируемого Go-модуля, который сможет автоматически применяться в системах с уже используемыми локальными Go-прокси. Загрузка конфигурация телеметрии будет инициироваться не чаще раза в неделю с вероятностью в 10% (т.е. каждая система будет загружать конфигурацию около 5 раз в год).

  • Передаваемые на внешние серверы сведения будут включать только итоговые счётчики, учитывающие статистику в разрезе полной недели и не привязанные к конкретному времени.

  • Отправляемые отчёты не будут включать какие-либо формы идентификаторов систем и пользователей.

  • Отправляемые отчёты будут содержать только строки, которые уже известны на сервере, т.е. название счётчиков, имена типовых программ, известные номера версий, имена функций в штатных утилитах инструментария (при отправке трассировок стека). Нестроковые данные будут ограничены счётчиками, датами и числом строк.
  • IP-адреса с которые осуществляются обращение к серверам телеметрии не будут сохраняться в логах.
  • Для получения необходимой выборки планируется собирать 16 тысяч отчётов в неделю, что в условии наличия двух миллионов установок инструментария потребует каждую неделю отправки отчётов лишь с 2% систем.

  • Собранные метрики в агрегированной форме будут публиковаться публично в графическом и табличном представлениях. Также будут публиковаться полные исходные данные, накопленные в процессе сбора телеметрии.

  • Сбор телеметрии будет включён по умолчанию, но будет предоставлен простой способ для отключения.



Источник: http://www.opennet.ru/opennews/art.shtml? num=58639

©  OpenNet