mirror of
https://git.ianrenton.com/ian/spothole.git
synced 2025-12-16 09:03:39 +00:00
Add prometheus metrics endpoint. Closes #67
This commit is contained in:
40
core/prometheus_metrics_handler.py
Normal file
40
core/prometheus_metrics_handler.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from bottle import response
|
||||
from prometheus_client import CollectorRegistry, generate_latest, CONTENT_TYPE_LATEST, Counter, disable_created_metrics, \
|
||||
Gauge
|
||||
|
||||
disable_created_metrics()
|
||||
# Prometheus metrics registry
|
||||
registry = CollectorRegistry()
|
||||
|
||||
page_requests_counter = Counter(
|
||||
"page_requests",
|
||||
"Total number of page requests received",
|
||||
registry=registry,
|
||||
)
|
||||
api_requests_counter = Counter(
|
||||
"api_requests",
|
||||
"Total number of API requests received",
|
||||
registry=registry
|
||||
)
|
||||
spots_gauge = Gauge(
|
||||
"spots",
|
||||
"Number of spots currently in the software",
|
||||
registry=registry
|
||||
)
|
||||
alerts_gauge = Gauge(
|
||||
"alerts",
|
||||
"Number of alerts currently in the software",
|
||||
registry=registry
|
||||
)
|
||||
memory_use_gauge = Gauge(
|
||||
"memory_usage_bytes",
|
||||
"Current memory usage of the software in bytes",
|
||||
registry=registry
|
||||
)
|
||||
|
||||
|
||||
# Get a Prometheus metrics response for Bottle
|
||||
def get_metrics():
|
||||
response.content_type = CONTENT_TYPE_LATEST
|
||||
response.status = 200
|
||||
return generate_latest(registry)
|
||||
Reference in New Issue
Block a user