Skip to content

Commit 093faf7

Browse files
committed
Revert "refactor(metrics): migrate from prometheus client to opentelemetry"
This reverts commit fc97172.
1 parent fc97172 commit 093faf7

File tree

2 files changed

+13
-45
lines changed

2 files changed

+13
-45
lines changed

pyms/flask/services/metrics.py

Lines changed: 12 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -3,44 +3,22 @@
33
from typing import Text
44

55
from flask import Blueprint, Response, request
6+
from prometheus_client import Counter, Histogram, generate_latest
67
from pyms.flask.services.driver import DriverService
78

8-
from prometheus_client import generate_latest
9-
from opentelemetry import metrics
10-
from opentelemetry.exporter.prometheus import PrometheusMetricsExporter
11-
from opentelemetry.sdk.metrics.export import ConsoleMetricsExporter
12-
from opentelemetry.sdk.metrics import Counter, ValueRecorder, MeterProvider
13-
149
# Based on https://github.com/sbarratt/flask-prometheus
1510
# and https://github.com/korfuri/python-logging-prometheus/
1611

17-
metrics.set_meter_provider(MeterProvider())
18-
meter = metrics.get_meter(__name__)
19-
exporter = PrometheusMetricsExporter()
20-
metrics.get_meter_provider().start_pipeline(meter, exporter, 1)
21-
22-
FLASK_REQUEST_LATENCY = meter.create_metric(
23-
"http_server_requests_seconds",
24-
"Flask Request Latency",
25-
"http_server_requests_seconds",
26-
float,
27-
ValueRecorder,
28-
("service", "method", "uri", "status"),
12+
FLASK_REQUEST_LATENCY = Histogram(
13+
"http_server_requests_seconds", "Flask Request Latency", ["service", "method", "uri", "status"]
2914
)
30-
FLASK_REQUEST_COUNT = meter.create_metric(
31-
"http_server_requests_count",
32-
"Flask Request Count",
33-
"http_server_requests_count",
34-
int,
35-
Counter,
36-
["service", "method", "uri", "status"],
15+
FLASK_REQUEST_COUNT = Counter(
16+
"http_server_requests_count", "Flask Request Count", ["service", "method", "uri", "status"]
3717
)
38-
LOGGER_TOTAL_MESSAGES = meter.create_metric(
18+
19+
LOGGER_TOTAL_MESSAGES = Counter(
3920
"logger_messages_total",
4021
"Count of log entries by service and level.",
41-
"logger_messages_total",
42-
int,
43-
Counter,
4422
["service", "level"],
4523
)
4624

@@ -58,28 +36,20 @@ def after_request(self, response):
5836
else:
5937
path = request.path
6038
request_latency = time.time() - request.start_time
61-
labels = {
62-
"service": self.app_name,
63-
"method": str(request.method),
64-
"uri": path,
65-
"status": str(response.status_code),
66-
}
67-
68-
FLASK_REQUEST_LATENCY.record(request_latency, labels)
69-
FLASK_REQUEST_COUNT.add(1, labels)
39+
FLASK_REQUEST_LATENCY.labels(self.app_name, request.method, path, response.status_code).observe(request_latency)
40+
FLASK_REQUEST_COUNT.labels(self.app_name, request.method, path, response.status_code).inc()
7041

7142
return response
7243

7344

7445
class Service(DriverService):
7546
"""
76-
Adds [Prometheus](https://prometheus.io/) metrics using the [Opentelemetry Client Library](https://opentelemetry-python.readthedocs.io/en/latest/exporter/prometheus/prometheus.html).
47+
Adds [Prometheus](https://prometheus.io/) metrics using the [Prometheus Client Library](https://github.com/prometheus/client_python).
7748
"""
7849
config_resource: Text = "metrics"
7950

8051
def __init__(self, *args, **kwargs):
8152
super().__init__(*args, **kwargs)
82-
8353
self.metrics_blueprint = Blueprint("metrics", __name__)
8454
self.serve_metrics()
8555

@@ -109,8 +79,7 @@ class MetricsLogHandler(logging.Handler):
10979

11080
def __init__(self, app_name):
11181
super().__init__()
112-
self.app_name = str(app_name)
82+
self.app_name = app_name
11383

11484
def emit(self, record):
115-
labels = {"service": self.app_name, "level": record.levelname}
116-
LOGGER_TOTAL_MESSAGES.add(1, labels)
85+
LOGGER_TOTAL_MESSAGES.labels(self.app_name, record.levelname).inc()

setup.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@
4949
]
5050

5151
install_metrics_requires = [
52-
'opentelemetry-exporter-prometheus>=0.13b0',
53-
'opentelemetry-sdk>=0.13b0',
52+
'prometheus_client>=0.8.0',
5453
]
5554

5655
install_tests_requires = [

0 commit comments

Comments
 (0)