Node.js
Node.js - это серверный фреймворк, основанный на движке JavaScript V8 от Google. Node.js имеет асинхронную модель выполнения и часто используется для склейки или в качестве уровня прокси в корпоративных средах.
Возможности
Ключ-Астром предоставляет обширные возможности мониторинга Node.js:
- Куча и метрики процесса
- Heap dumps
- Выборка процессора (см. Известные ограничения)
- Показатели цикла событий
- Анализ входящих и исходящих HTTP-вызовов
- Выделенная поддержка для множества баз данных (включая захват запросов)
- Захват следов OpenTelemetry
- ЕдиныйАгент SDK для пользовательской трассировки
См. Нашу матрицу поддерживаемых технологий для получения подробной информации о поддерживаемых технологиях, которые будут использоваться вместе с Node.js.
Поддержка и отказ от поддержки
Node.js следует модели выпуска LTS.
Каждая версия с нечетным номером достигает EOL вскоре после выпуска каждой новой версии с четным номером. Каждая четная версия в конечном итоге становится LTS-выпуском. Для корпоративных производственных сред мы рекомендуем придерживаться выпусков LTS.
Каждый раз, когда выпускается новая основная версия Node.js (четная или нечетная), мы добавляем поддержку этой версии.
Ключ-Астром будет следовать этой модели поддержки, но будет поддерживать каждую версию Node.js как минимум на полгода дольше, чтобы у наших клиентов было время для обновлений.
Node.js version | Выпущено вендором | Конец поддержки вендором | Первая поддерживаемая версия ЕдиногоАгена | Последняя поддерживаемая версия ЕдиногоАгента | Поддержка Ключ-Астром до | Уровень поддержки Ключ-Астром |
---|---|---|---|---|---|---|
18 | 2022-04-19 | 2025-04-30 | 1.243 | - | 2026-04-30 | Поддерживается1 |
17 | 2021-10-19 | 2022-06-01 | 1.235 | - | 2022-12-01 | Поддерживается |
16 | 2021-04-20 | 2024-04-30 | 1.219 | - | 2025-04-30 | Поддерживается |
15 | 2020-10-20 | 2021-06-01 | 1.207 | 1.233 | 2021-12-01 | Не поддерживается |
14 | 2020-04-21 | 2023-04-30 | 1.195 | - | 2024-04-30 | Поддерживается |
13 | 2019-10-22 | 2020-06-01 | 1.183 | 1.205 | 2020-12-01 | Не поддерживается |
12 | 2019-04-23 | 2022-04-30 | 1.171 | - | 2023-04-30 | Поддерживается |
11 | 2018-10-23 | 2019-06-30 | 1.159 | 1.181 | 2019-12-31 | Не поддерживается |
10 | 2015-04-24 | 2021-04-30 | 1.147 | - | 2022-04-30 | Ограничено2 |
9 | 2017-10-01 | 2018-06-30 | - | 1.157 | 2018-12-31 | Не поддерживается |
8 | 2017-05-30 | 2019-12-31 | - | 1.239 | 2020-12-31 | Не поддерживается |
1 Новые функции Node.js 18, помеченные как «экспериментальные», не поддерживаются.
2 Ограниченная поддержка: Ключ-Астром может решать только те проблемы, которые можно воспроизвести в поддерживаемых версиях.
Известные ограничения
- Из-за ограничений платформы JavaScript и Node.js видимость на уровне кода ограничена по сравнению с .NET или Java.
- В сочетании с неподдерживаемыми сторонними модулями контекст может быть потерян в асинхронных обратных вызовах. В таких случаях свяжитесь со специалистом по продуктам Ключ-Астром ONE, нажав кнопку чата в правом верхнем углу строки меню Ключ-Астром.
- Использование модуля esm NPM в варианте 1 для пакетов может привести к снижению видимости (особенно если используется для основного сценария приложения). Предпочтительно использовать вариант 2 для предварительной загрузки esm с помощью параметра командной строки -r.
- В настоящее время существует только ограниченная поддержка модулей ECMAScript (также известных как «модули ES6»):
- Если сам основной файл сценария представляет собой модуль ECMAScript, для внедрения ЕдиногоАгента в процесс Node.js требуется ЕдиныйАгент версии 1.219+ с включенной предварительной загрузкой агента.
- Инструментарий модулей ECMAScript в настоящее время недоступен. Это ограничивает поддержку kafkajs, если определяемая пользователем точка входа для сенсора KafkaJs находится внутри модуля ECMAScript.
- Webpack по умолчанию объединяет все модули в один файл. ЕдиныйАгент не может инструментировать связанные модули. Чтобы обойти это ограничение, все модули, которые должны быть инструментированы ЕдинымАгентом (такие как express, mongodb и pg), должны быть внешними в конфигурации веб-пакета. Подробнее см. в документации по внешним компонентам webpack.