У меня есть приложение express узла с Prom-клиентом для мониторинга последовательного соединения и передачи значений конечной точке http, скорость последовательного соединения составляет 9600 бод и передает некоторые статистические данные. Экземпляр Prometheus настроен с заданием с интервалом в 10 миллисекунд, чтобы нацелиться на эту конечную точку и получить показатели. Я хочу видеть эту метрику с разрешением не менее 10 миллисекунд, но, похоже, разрешение графа Прометея не принимает менее 1 секунды. Что я должен сделать, чтобы Прометей собирал данные с разрешением не менее 10 миллисекунд. Есть ли конфиг, по которому я скучаю? Я искал часы
, это мое приложение node js, прослушиватель последовательного порта ожидает json сообщений, анализирует их и обновляет типы метрических метри c из 'prom-client' для представления по express!
const serialPath = '/dev/tty.usbmodem14201';
const port = new SerialPort(serialPath, {
baudRate: 9600
});
const parser = new Readline();
port.pipe(parser);
parser.on('data', (line) => {
try {
const obj = JSON.parse(line);
if (obj.command !== undefined) {
console.log(obj);
}
if (obj.a) {
obj.a.forEach((analog) => {
analogGuage.set({
pin: analog.i
}, analog.v);
})
}
} catch (ex) {
console.log('Exception in parsing serial json:', ex);
console.log('Exception in parsing serial json:', line);
}
});
конечная точка метрики для вызова прометея каждые 10 мс
expressApp.get('/metrics', (req, res) => {
const metrics = client.register.metrics();
res.set('Content-Type', client.register.contentType);
res.end(metrics);
});
Важно упомянуть все это для экспериментальной персональной встроенной системы :) так что нет Имеются узкие места или соображения производительности, за исключением возможности передавать и анализировать последовательное чтение менее чем за 10 мс
, так как сейчас Prometheus и приложение экспортера узлов работают на моем P C, поэтому интервалы в 10 мс кажутся просто для выпускного.
Пожалуйста, помогите.
Ответ Редактировать: , поэтому я решил отказаться от Prometheus вместо InfluxDB, так как обе лицензии разрешают доступ к источнику, и они продвигают миллис c, nanose c мониторинга, но для будущей справки 9600 бод тоже было недостаточно, но все же после скорости 115200 бод и 150 миллисекунд c циклы сообщения Prom. до сих пор не удалось показать менее 1se c, так что InfluxDB сделал это красиво, вот несколько картинок: ниже - 30se c окно Prom. на 115200 бод
и около 10 секунд на том же 115200 бод в InfluxDB