Мне нужно создать HTTP-сервер, который будет работать на бездисковых компьютерах RT и обслуживать динамический текстовый / обычный контент.То, что он должен сделать, это прочитать метрики мониторинга, используя библиотеку C (в основном список ключ / значение) и создать ответ, совместимый с Prometheus.Список метрик и их значений может изменяться во время выполнения, и невозможно заранее узнать максимальный размер получаемого текстового или простого ответа.
В идеале я хотел бы:
- Получение запроса
- Выделение буфера памяти
- Заполнение буфера и изменение его размера необходимо (также может иметь максимальный размер)
- Отправить ответ
- Освободить буфер после отправки запроса
Мы рассматриваем возможность использования NGINX и создания модуля для извлечения метрик и создания динамического контента.Но в большинстве примеров показано, как обслуживать статический контент из статического буфера (hello world), и я не смог найти способ достичь того, чего я хочу, предпочтительно используя пул NGINX, чтобы не перераспределять новый буфер каждый раз.CGI / FastCGI для нас не вариант.
Любые указатели приветствуются.