This commit is contained in:
2024-04-06 01:15:31 +02:00
Unverified
parent 00c7875e65
commit f2e0554a02
5 changed files with 196 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
import prometheus_client
import time
from src.metrics_source import *
class PrometheusMetricsServer:
_metrics_sources: list[MetricsSource]
address: str
port: int
interval: int
server_name: str
def __init__(self, port: int, server_name: str):
self._metrics_sources = []
self.address = "0.0.0.0"
self.port = port
self.interval = 1
self.server_name = server_name
def add_metrics_source(self, source: MetricsSource):
self._metrics_sources.append(source)
def run(self):
prometheus_client.start_http_server(self.port, addr=self.address)
print(f"{self.server_name} is running on {self.address}:{self.port}")
while True:
for source in self._metrics_sources:
source.update()
time.sleep(self.interval)