Как предоставлять метрики в многопроцессном приложении с помощью start_http_server
Я нашел много примеров с Gunicorn в Интернете, но я хочу использовать start_http_server
что мне делать с кодом ниже, чтобы он работал правильно?
from multiprocessing import Process
import time, os
from prometheus_client import start_http_server, multiprocess, CollectorRegistry, Counter
MY_COUNTER = Counter('my_counter', 'Description of my counter')
os.environ["PROMETHEUS_MULTIPROC_DIR"] = "tmp"
def f():
print("+1")
MY_COUNTER.inc()
if __name__ == '__main__':
start_http_server(8000)
p = Process(target=f, args=())
a = p.start()
p2 = Process(target=f, args=())
p2.start()
time.sleep(1)
print("collect")
registry = CollectorRegistry()
data = multiprocess.MultiProcessCollector(registry)
while True:
time.sleep(1)
Подробнее здесь: https://stackoverflow.com/questions/707 ... ttp-server
Prometheus, как предоставлять метрики в многопроцессном приложении с помощью start_http_server ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение