Для Bun вышел свой компактный crash reporter
Для среды выполнения JavaScript и TypeScript с возможностью отладки кода и поддержкой популярных веб-фрейворков Bun v1.1.5 вышел свой компактный crash reporter. Отчёт о сбое умещается в 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 разработчики проекта пояснили, как они решили проблему с получением точных адресов функций (указателей в памяти на место загрузки кода приложения, которое включает случайное смещение по соображениям безопасности).
1 апреля 2024 года состоялся релиз Bun 1.1. Это событие произошло спустя шесть месяцев после выхода первой мажорной версии проекта Bun 1.0. За это время команда проекта сделала более 1700 коммитов, разработчики прилагают все усилия, чтобы сделать Bun более стабильным и более совместимым с Node.js. «Мы исправили более тысячи ошибок, добавили массу новых функций и API, и теперь Bun поддерживает Windows!», — уточнили разработчики сообщества Bun.
Bun — это современная среда выполнения JS типа Node.js или Deno со встроенной поддержкой JSX и TypeScript. Она разработана с акцентом на быстром запуске, высокой производительности и самодостаточности. Внутри Bun есть транспилятор (транспилирующий компилятор) JavaScript, встроенный в среду выполнения. Это означает, что при работе с Bun можно запускать файлы JavaScript, TypeScript и даже JSX/TSX без каких-либо зависимостей.
Bun использует движок JavaScriptCore, разрабатываемый WebKit, который запускается и выполняет операции немного быстрее, а также использует память немного эффективнее, чем классические движки типа V8. Bun написан на Zig — языке программирования низкого уровня с ручным управлением памятью, чем объясняются высокие показатели его скорости.
Написать комментарий