Для Bun вышел свой компактный crash reporter
Для среды выполнения JavaScript и TypeScript с возможностью отладки кода и поддержкой популярных веб-фрейворков Bun v1.1.5 вышел свой компактный crash reporter для Zig и C++. Отчёт о сбое умещается в URL-адрес размером около 150 байт, не содержащий никакой личной информации.
«На текущий момент у проекта Bun более 2600 открытых issue на GitHub. Нам нравится работать с отзывами пользователей, но некоторые их проблемы оказалось очень сложно воспроизвести и отладить. Приложения и продукты SaaS могут использовать замечательные службы отчётов о сбоях, такие как Sentry, но для инструментов CLI, таких как Bun, загрузка дампов ядра должна иметь компромиссы в области конфиденциальности, производительности и размеров файла», — уточнили в команде проекта.
Разработчики пояснили, что некоторые операционные системы, такие как macOS, имеют встроенные средства отчётов о сбоях, но это обычно означает отправку дополнительной информации, включая данные по debug. Для Linux такие отчёты в итоге получаются размером около 30 МБ, для macOS — около 9 МБ, а в Windows файл .pdb весит более 250 МБ. Но без данных по debug информация о сбоях довольно ограничена. А благодаря рандомизации слоя адресного пространства все адреса функций становятся бесполезными.
Начиная с версии Bun 1.1.5 отчёт о сбое стал компактным и удобным для анализа со стороны разработчиков проекта.
Также эти данные стало намного проще оформить в рамках создания issue на GitHub. Ссылка в Bun.report при нажатии перенаправляет на открытие предварительно заполненной формы issue на GitHub с переназначенной трассировкой стека, закодированной в URL-адресе.
В рамках выпуска crash reporter для Bun разработчики проекта пояснили, как они решили проблему с получением точных адресов функций
Читать на habr.com