configurator/app/utils/monitoring.py
Egor Matveev 64ef3ff776
All checks were successful
Deploy Dev / Build (pull_request) Successful in 22s
Deploy Dev / Push (pull_request) Successful in 13s
Deploy Dev / Deploy dev (pull_request) Successful in 14s
fix
2025-06-16 16:27:07 +03:00

25 lines
799 B
Python

from concurrent.futures import ThreadPoolExecutor
import datetime
import requests
class Monitroing:
def __init__(self):
self.executor = ThreadPoolExecutor(max_workers=1)
def send_metric(self, start: datetime.datetime, end: datetime.datetime, endpoint: str, status_code: int, method: str):
def send():
requests.post(f'http://monitoring:1237/api/v1/metrics/endpoint', json={
'timestamp': start.strftime("%Y-%m-%dT%H:%M:%S") + "Z",
'service': 'configurator',
'endpoint': endpoint,
'status_code': status_code,
'response_time': (end - start).microseconds // 1000,
'method': method,
})
self.executor.submit(send)
monitoring = Monitroing()