Pull to refresh

Comments 3

Еще раз спасибо за продвижение прекрасного!

В логах нет ошибок, потому что как таковой ошибки не случилось

Ну это можно и исправить timeout'ом.

Кроме того, прибитая гвоздями реализация механизма отсылки метрик — дизайн, от которого у меня сводит зубы.

Ага. По-сути, от телеметрии мы хотим знать, за какое время исполнялся какой-то блок кода. Блок кода всегда можно оформить как функцию, т.к. телеметрия небесплатна, и вызов на её фоне теряется.

Вопрос — может быть аннотации на телеметрию отделять от определений функций? То есть, вот у вас модуль, вверху торчат аннотации (например, рядом с экспортами в Хаскеле), а ниже определения функций.

это можно и исправить timeout'ом

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

от телеметрии мы хотим знать, за какое время исполнялся какой-то блок кода

Не только. Еще я там перечислял всякие характеристики среды исполнения, вдруг ошибка наведена каким-нибудь сторонним процессом (кто-то ворд запустил на продакшене :). А еще я могу захотеть посмотреть по месту, на каких параметрах и с какими именно соседними значениями всё сломалось.

Блок кода всегда можно оформить как функцию, т.к. телеметрия небесплатна, и вызов на её фоне теряется.

Функцию всегда можно пометить для инлайнинга, но так никто не делает обычно, потому что это бессмысленно даже без телеметрии. А еще для параноиков я экспортирую обёртки для любых блоков кода (any expression(s)).

Вопрос — может быть аннотации на телеметрию отделять от определений функций? 

Я в чужие монастыри со своими уставами не хожу. В эликсире принято приклеиваться к функции (так делают спеки, документация, и все сторонние библиотеки).

Sign up to leave a comment.

Articles