Comments 3
Еще раз спасибо за продвижение прекрасного!
В логах нет ошибок, потому что как таковой ошибки не случилось
Ну это можно и исправить timeout'ом.
Кроме того, прибитая гвоздями реализация механизма отсылки метрик — дизайн, от которого у меня сводит зубы.
Ага. По-сути, от телеметрии мы хотим знать, за какое время исполнялся какой-то блок кода. Блок кода всегда можно оформить как функцию, т.к. телеметрия небесплатна, и вызов на её фоне теряется.
Вопрос — может быть аннотации на телеметрию отделять от определений функций? То есть, вот у вас модуль, вверху торчат аннотации (например, рядом с экспортами в Хаскеле), а ниже определения функций.
это можно и исправить timeout'ом
Да это можно как угодно исправить, но сколько прямых вызовов функций у вас лично обернуто в таймауты?
от телеметрии мы хотим знать, за какое время исполнялся какой-то блок кода
Не только. Еще я там перечислял всякие характеристики среды исполнения, вдруг ошибка наведена каким-нибудь сторонним процессом (кто-то ворд запустил на продакшене :). А еще я могу захотеть посмотреть по месту, на каких параметрах и с какими именно соседними значениями всё сломалось.
Блок кода всегда можно оформить как функцию, т.к. телеметрия небесплатна, и вызов на её фоне теряется.
Функцию всегда можно пометить для инлайнинга, но так никто не делает обычно, потому что это бессмысленно даже без телеметрии. А еще для параноиков я экспортирую обёртки для любых блоков кода (any expression(s)).
Вопрос — может быть аннотации на телеметрию отделять от определений функций?
Я в чужие монастыри со своими уставами не хожу. В эликсире принято приклеиваться к функции (так делают спеки, документация, и все сторонние библиотеки).
Телеметрия, диагностики и компилятор