title | permalink |
---|---|
Telemetry |
internals/telemetry.html |
Чтобы работать над улучшением функций werf и направлять разработку в правильное русло, мы собираем анонимные данные об использовании. Эти данные никак не привязываются к пользователям и не содержат никакой персонализированной информации.
Они помогают понять, как используется werf, и бросить силы на улучшение нужных функций.
На текущий момент телеметрия по умолчанию выключена. Управление осуществляется с помощью переменной окружения WERF_TELEMETRY
.
Для того, чтобы включить телеметрию и помочь нам улучшить werf, просто задайте ей значение 1
:
export WERF_TELEMETRY=1
Для выключения установите ее значение в 0
:
export WERF_TELEMETRY=0
В ближайшее время планируется включить телеметрию по умолчанию, а выключение сделать опциональным по желанию пользователя.
Ниже приведены примеры передаваемых данных:
ts=1658231825280
executionID="2f75d020-684e-4224-9013-35e95e1b7721"
projectID="b4c2d019070529344a6967d8c73d578101c6554fcdcae3d00bb93a9692523cb1"
command="werf converge"
attributes={"arch":"amd64","os":"linux","version":"dev"}"
eventType="CommandStarted"
eventData={"commandOptions":[{"name":"repo","asCli":false,"asEnv":false,"count":0}]}
schemaVersion=1
ts=1658231836102
executionID="2f75d020-684e-4224-9013-35e95e1b7721"
projectID="b4c2d019070529344a6967d8c73d578101c6554fcdcae3d00bb93a9692523cb1"
command="werf converge"
attributes={"arch":"amd64","os":"linux","version":"dev"}
eventType="CommandExited"
eventData="{"exitCode":0,"durationMs":10827}"
schemaVersion=1
Здесь передаются следующие данные об использовании:
ts
— timestamp;executionID
— UUID;projectID
— контрольная сумма (SHA-256) от git origin URL проекта;command
— название выполняемой команды werf;attributes
— атрибуты окружения:os
;arch
;trdl group-channel
;werf version
.
eventType
— тип события:CommandStarted
;CommandExited
;
eventData
— данные события, включают в себя:- exit code;
- длительность работы команды;
- имена используемых опций.
Вы можете сами убедиться в том, что мы собираем только обезличенную информацию, как указано в примере выше. Для этого см. исходные код werf, отвечающий за телеметрию: файлы event.go и telemetrywerfio.go пакета telemetry.
Мы доверяем нашим пользователям и хотим, чтобы они так же доверяли нам, поэтому сделали все максимально прозрачно. Используя переменную окружения WERF_TELEMETRY_LOG_FILE
, можно задать путь к лог-файлу, куда будут складываться все данные, передаваемые телеметрией.