moira
moira copied to clipboard
Refactor event creation function in checker
Сейчас код в этой функции ужасен:
- Он плохо читается, его очень тяжело написан, его очень тяжело дописывать.
- Из первого следует второе: в нем есть много несколько не очень приятных багов, например если состояние метрики меняется во время maintenace интервала то все следующие чеки триггера приводят к изменению времени последнего эвента этой метрики.
- Функции создания эвента для метрики и триггера почти полностью дублируют свою функционнальность.
Всё усложняется тем, что у нас есть четко установленные правила на постановку maintenace и то, в каких случаях мы отправляем сообщения, но нет таких правил для изменения времени последнего эвента метрики. Нужно выработать эти правила и зафиксировать.
Один из багов, который я пытался починить https://github.com/moira-alert/moira/pull/332