mirror of
https://github.com/marcel-dempers/docker-development-youtube-series.git
synced 2025-06-06 17:01:30 +00:00
32 lines
902 B
Python
32 lines
902 B
Python
from flask import Response, Flask, request
|
|
import prometheus_client
|
|
from prometheus_client.core import CollectorRegistry
|
|
from prometheus_client import Summary, Counter, Histogram, Gauge
|
|
import time
|
|
|
|
app = Flask(__name__)
|
|
|
|
_INF = float("inf")
|
|
|
|
graphs = {}
|
|
graphs['c'] = Counter('python_request_operations_total', 'The total number of processed requests')
|
|
graphs['h'] = Histogram('python_request_duration_seconds', 'Histogram for the duration in seconds.', buckets=(1, 2, 5, 6, 10, _INF))
|
|
|
|
@app.route("/")
|
|
def hello():
|
|
start = time.time()
|
|
graphs['c'].inc()
|
|
|
|
time.sleep(0.600)
|
|
end = time.time()
|
|
graphs['h'].observe(end - start)
|
|
return "Hello World!"
|
|
|
|
@app.route("/metrics")
|
|
def requests_count():
|
|
res = []
|
|
for k,v in graphs.items():
|
|
res.append(prometheus_client.generate_latest(v))
|
|
return Response(res, mimetype="text/plain")
|
|
|