prometheus

This commit is contained in:
Kameron Kenny 2024-10-21 16:57:56 -04:00
parent 769378c07b
commit 5322df91b9
No known key found for this signature in database
GPG Key ID: E5006629839D2276
1 changed files with 19 additions and 5 deletions

22
api.py
View File

@ -1,17 +1,29 @@
import time
from flask import Flask, jsonify, request
from prometheus_client import Counter, Summary, start_http_server
from prometheus_client import Counter, Summary, start_http_server, Info
from timber import axe, LumberJack
from config import _CLIENT_CONFIG
_VERSION = '0.1.2'
_VERSION = '0.1.5'
lumber = LumberJack()
lumber.set_log_level('i')
app = Flask(__name__)
# Create metrics
REQUEST_COUNT = Counter('api_requests_total', 'Total API Requests', ['method', 'endpoint'])
REQUEST_LATENCY = Summary('api_request_latency_seconds', 'API Request Latency', ['method', 'endpoint'])
REQUEST_COUNT = Counter('power_api_requests_total', 'Total API Requests', ['method', 'endpoint'])
REQUEST_LATENCY = Summary('power_api_request_latency_seconds', 'API Request Latency', ['method', 'endpoint'])
version_info = Info('power_api_version', 'Power API Version')
version_info.info({'power_api_version': _VERSION})
client_config_info = Info('power_api_client_config_info', 'Power API Client Config')
client_config_info.info({
'power_api_config_check_cycles': str(_CLIENT_CONFIG['config_check']['cycles']),
'power_api_config_dryrun': str(_CLIENT_CONFIG['dryrun']),
'power_api_retry_attempts': str(_CLIENT_CONFIG['retry']['attempts']),
'power_api_retry_seconds_healthy': str(_CLIENT_CONFIG['retry']['seconds']['healthy']),
'power_api_retry_seconds_unhealthy': str(_CLIENT_CONFIG['retry']['seconds']['unhealthy']),
'power_api_server_addr': str(_CLIENT_CONFIG['server']['address']),
'power_api_server_port': str(_CLIENT_CONFIG['server']['port'])
})
@app.before_request
def before_request():
@ -45,3 +57,5 @@ def get_client_config(hostname):
if __name__ == '__main__':
start_http_server(port=8000, addr='0.0.0.0')
app.run(debug=False, host='0.0.0.0')
# start_http_server(port=8000)
# app.run(debug=False)