Я пытаюсь использовать прометей для хранения и отображения данных в реальном времени с помощью инструментов ЭЭГ. Мне нужно сохранять данные ЭЭГ клиента локально и синхронизировать их с моим сервером, не должно быть потери данных, когда интернет-соединение не работает ни на одном конце.
Я использовал клиент python для создания программы, которая получает ЭЭГданные и хранятся на датчике (см. код ниже). Затем мой сервер извлекает этот датчик и отображает данные. Единственная проблема заключается в том, что прометей выбирает датчик только для его текущего значения, а не для всей серии времени. Таким образом, если моя ЭЭГ имеет частоту 1 мс, и я тяну каждую секунду, я фактически теряю 99,9% своих точек данных. Также, когда соединение не удается, я теряю все данные, которые не были извлечены.
Правильный ли подход к использованию Прометея? Есть ли простой способ преодолеть это?
from prometheus_client import start_http_server, Summary, Gauge, MetricsHandler
import time
import read_eeg
# Create a metric to track time spent and requests made.
REQUEST_TIME = Summary('request_processing_seconds', 'Time spent processing request')
# Decorate function with metric.
@REQUEST_TIME.time()
def process_request(t):
value, timestamp = read_eeg.pull_value()
g.set(value)
time.sleep(t)
if __name__ == '__main__':
start_http_server(8000)
g = Gauge('TEST_EEG', 'test eeg')
# Generate some requests.
while True:
process_request(0.001)