Skip to content

Commit 4d8fe33

Browse files
committed
Use seconds for Prometheus metrics
Use seconds rather than milliseconds for Prometheus metrics, this conforms with the best practice to expose base units[0]. [0]: https://prometheus.io/docs/practices/naming/#base-units
1 parent 81614de commit 4d8fe33

File tree

2 files changed

+48
-48
lines changed

2 files changed

+48
-48
lines changed

src/ngx_http_vhost_traffic_status_display_prometheus.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,10 @@ ngx_http_vhost_traffic_status_display_prometheus_set_server_node(
6969
&server, vtsn->stat_4xx_counter,
7070
&server, vtsn->stat_5xx_counter,
7171
&server, vtsn->stat_request_counter,
72-
&server, vtsn->stat_request_time_counter,
73-
&server, ngx_http_vhost_traffic_status_node_time_queue_average(
72+
&server, (double) vtsn->stat_request_time_counter / 1000,
73+
&server, (double) ngx_http_vhost_traffic_status_node_time_queue_average(
7474
&vtsn->stat_request_times, vtscf->average_method,
75-
vtscf->average_period));
75+
vtscf->average_period) / 1000);
7676

7777
#if (NGX_HTTP_CACHE)
7878
buf = ngx_sprintf(buf, NGX_HTTP_VHOST_TRAFFIC_STATUS_PROMETHEUS_FMT_SERVER_CACHE,
@@ -179,11 +179,11 @@ ngx_http_vhost_traffic_status_display_prometheus_set_filter_node(
179179
&filter, &filter_name, vtsn->stat_4xx_counter,
180180
&filter, &filter_name, vtsn->stat_5xx_counter,
181181
&filter, &filter_name, vtsn->stat_request_counter,
182-
&filter, &filter_name, vtsn->stat_request_time_counter,
182+
&filter, &filter_name, (double) vtsn->stat_request_time_counter / 1000,
183183
&filter, &filter_name,
184-
ngx_http_vhost_traffic_status_node_time_queue_average(
184+
(double) ngx_http_vhost_traffic_status_node_time_queue_average(
185185
&vtsn->stat_request_times, vtscf->average_method,
186-
vtscf->average_period));
186+
vtscf->average_period) / 1000);
187187

188188
#if (NGX_HTTP_CACHE)
189189
buf = ngx_sprintf(buf, NGX_HTTP_VHOST_TRAFFIC_STATUS_PROMETHEUS_FMT_FILTER_CACHE,
@@ -260,16 +260,16 @@ ngx_http_vhost_traffic_status_display_prometheus_set_upstream_node(
260260
&upstream, &upstream_server, vtsn->stat_4xx_counter,
261261
&upstream, &upstream_server, vtsn->stat_5xx_counter,
262262
&upstream, &upstream_server, vtsn->stat_request_counter,
263-
&upstream, &upstream_server, vtsn->stat_request_time_counter,
263+
&upstream, &upstream_server, (double) vtsn->stat_request_time_counter / 1000,
264264
&upstream, &upstream_server,
265-
ngx_http_vhost_traffic_status_node_time_queue_average(
265+
(double) ngx_http_vhost_traffic_status_node_time_queue_average(
266266
&vtsn->stat_request_times, vtscf->average_method,
267-
vtscf->average_period),
268-
&upstream, &upstream_server, vtsn->stat_upstream.response_time_counter,
267+
vtscf->average_period) / 1000,
268+
&upstream, &upstream_server, (double) vtsn->stat_upstream.response_time_counter / 1000,
269269
&upstream, &upstream_server,
270-
ngx_http_vhost_traffic_status_node_time_queue_average(
270+
(double) ngx_http_vhost_traffic_status_node_time_queue_average(
271271
&vtsn->stat_upstream.response_times, vtscf->average_method,
272-
vtscf->average_period));
272+
vtscf->average_period) / 1000);
273273

274274
return buf;
275275
}

src/ngx_http_vhost_traffic_status_display_prometheus.h

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@
3535
"# TYPE nginx_vts_server_bytes_total counter\n" \
3636
"# HELP nginx_vts_server_requests_total requests counter\n" \
3737
"# TYPE nginx_vts_server_requests_total counter\n" \
38-
"# HELP nginx_vts_server_request_msecs_total request processing " \
39-
"time in milliseconds counter\n" \
40-
"# TYPE nginx_vts_server_request_msecs_total counter\n" \
41-
"# HELP nginx_vts_server_request_msecs average of request " \
42-
"processing times in milliseconds\n" \
43-
"# TYPE nginx_vts_server_request_msecs gauge\n"
38+
"# HELP nginx_vts_server_request_seconds_total request processing " \
39+
"time in seconds\n" \
40+
"# TYPE nginx_vts_server_request_seconds_total counter\n" \
41+
"# HELP nginx_vts_server_request_seconds average of request " \
42+
"processing times in seconds\n" \
43+
"# TYPE nginx_vts_server_request_seconds gauge\n"
4444

4545
#define NGX_HTTP_VHOST_TRAFFIC_STATUS_PROMETHEUS_FMT_SERVER \
4646
"nginx_vts_server_bytes_total{host=\"%V\",direction=\"in\"} %uA\n" \
@@ -51,8 +51,8 @@
5151
"nginx_vts_server_requests_total{host=\"%V\",code=\"4xx\"} %uA\n" \
5252
"nginx_vts_server_requests_total{host=\"%V\",code=\"5xx\"} %uA\n" \
5353
"nginx_vts_server_requests_total{host=\"%V\",code=\"total\"} %uA\n" \
54-
"nginx_vts_server_request_msecs_total{host=\"%V\"} %uA\n" \
55-
"nginx_vts_server_request_msecs{host=\"%V\"} %M\n"
54+
"nginx_vts_server_request_seconds_total{host=\"%V\"} %.3f\n" \
55+
"nginx_vts_server_request_seconds{host=\"%V\"} %.3f\n"
5656

5757
#if (NGX_HTTP_CACHE)
5858
#define NGX_HTTP_VHOST_TRAFFIC_STATUS_PROMETHEUS_FMT_SERVER_CACHE_S \
@@ -75,12 +75,12 @@
7575
"# TYPE nginx_vts_filter_bytes_total counter\n" \
7676
"# HELP nginx_vts_filter_requests_total requests counter\n" \
7777
"# TYPE nginx_vts_filter_requests_total counter\n" \
78-
"# HELP nginx_vts_filter_request_msecs_total request processing " \
79-
"time in milliseconds counter\n" \
80-
"# TYPE nginx_vts_filter_request_msecs_total counter\n" \
81-
"# HELP nginx_vts_filter_request_msecs average of request processing " \
82-
"times in milliseconds\n" \
83-
"# TYPE nginx_vts_filter_request_msecs gauge\n"
78+
"# HELP nginx_vts_filter_request_seconds_total request processing " \
79+
"time in seconds counter\n" \
80+
"# TYPE nginx_vts_filter_request_seconds_total counter\n" \
81+
"# HELP nginx_vts_filter_request_seconds average of request processing " \
82+
"times in seconds\n" \
83+
"# TYPE nginx_vts_filter_request_seconds gauge\n"
8484

8585
#define NGX_HTTP_VHOST_TRAFFIC_STATUS_PROMETHEUS_FMT_FILTER \
8686
"nginx_vts_filter_bytes_total{filter=\"%V\",filter_name=\"%V\"," \
@@ -99,9 +99,9 @@
9999
"direction=\"5xx\"} %uA\n" \
100100
"nginx_vts_filter_requests_total{filter=\"%V\",filter_name=\"%V\"," \
101101
"direction=\"total\"} %uA\n" \
102-
"nginx_vts_filter_request_msecs_total{filter=\"%V\"," \
103-
"filter_name=\"%V\"} %uA\n" \
104-
"nginx_vts_filter_request_msecs{filter=\"%V\",filter_name=\"%V\"} %M\n"
102+
"nginx_vts_filter_request_seconds_total{filter=\"%V\"," \
103+
"filter_name=\"%V\"} %.3f\n" \
104+
"nginx_vts_filter_request_seconds{filter=\"%V\",filter_name=\"%V\"} %.3f\n"
105105

106106
#if (NGX_HTTP_CACHE)
107107
#define NGX_HTTP_VHOST_TRAFFIC_STATUS_PROMETHEUS_FMT_FILTER_CACHE_S \
@@ -132,18 +132,18 @@
132132
"# TYPE nginx_vts_upstream_bytes_total counter\n" \
133133
"# HELP nginx_vts_upstream_requests_total upstream requests counter\n" \
134134
"# TYPE nginx_vts_upstream_requests_total counter\n" \
135-
"# HELP nginx_vts_upstream_request_msecs_total request " \
136-
"processing time including upstream in milliseconds counter\n" \
137-
"# TYPE nginx_vts_upstream_request_msecs_total counter\n" \
138-
"# HELP nginx_vts_upstream_request_msecs average of request " \
139-
"processing times including upstream in milliseconds\n" \
140-
"# TYPE nginx_vts_upstream_request_msecs gauge\n" \
141-
"# HELP nginx_vts_upstream_response_msecs_total only upstream " \
142-
"response processing time in milliseconds counter\n" \
143-
"# TYPE nginx_vts_upstream_response_msecs_total counter\n" \
144-
"# HELP nginx_vts_upstream_response_msecs average of only " \
145-
"upstream response processing times in milliseconds\n" \
146-
"# TYPE nginx_vts_upstream_response_msecs gauge\n"
135+
"# HELP nginx_vts_upstream_request_seconds_total request " \
136+
"processing time including upstream in seconds counter\n" \
137+
"# TYPE nginx_vts_upstream_request_seconds_total counter\n" \
138+
"# HELP nginx_vts_upstream_request_seconds average of request " \
139+
"processing times including upstream in seconds\n" \
140+
"# TYPE nginx_vts_upstream_request_seconds gauge\n" \
141+
"# HELP nginx_vts_upstream_response_seconds_total only upstream " \
142+
"response processing time in seconds counter\n" \
143+
"# TYPE nginx_vts_upstream_response_seconds_total counter\n" \
144+
"# HELP nginx_vts_upstream_response_seconds average of only " \
145+
"upstream response processing times in seconds\n" \
146+
"# TYPE nginx_vts_upstream_response_seconds gauge\n"
147147

148148
#define NGX_HTTP_VHOST_TRAFFIC_STATUS_PROMETHEUS_FMT_UPSTREAM \
149149
"nginx_vts_upstream_bytes_total{upstream=\"%V\",backend=\"%V\"," \
@@ -162,13 +162,13 @@
162162
"code=\"5xx\"} %uA\n" \
163163
"nginx_vts_upstream_requests_total{upstream=\"%V\",backend=\"%V\"," \
164164
"code=\"total\"} %uA\n" \
165-
"nginx_vts_upstream_request_msecs_total{upstream=\"%V\"," \
166-
"backend=\"%V\"} %uA\n" \
167-
"nginx_vts_upstream_request_msecs{upstream=\"%V\"," \
168-
"backend=\"%V\"} %M\n" \
169-
"nginx_vts_upstream_response_msecs_total{upstream=\"%V\"," \
170-
"backend=\"%V\"} %uA\n" \
171-
"nginx_vts_upstream_response_msecs{upstream=\"%V\",backend=\"%V\"} %M\n"
165+
"nginx_vts_upstream_request_seconds_total{upstream=\"%V\"," \
166+
"backend=\"%V\"} %.3f\n" \
167+
"nginx_vts_upstream_request_seconds{upstream=\"%V\"," \
168+
"backend=\"%V\"} %.3f\n" \
169+
"nginx_vts_upstream_response_seconds_total{upstream=\"%V\"," \
170+
"backend=\"%V\"} %.3f\n" \
171+
"nginx_vts_upstream_response_seconds{upstream=\"%V\",backend=\"%V\"} %.3f\n"
172172

173173
#if (NGX_HTTP_CACHE)
174174
#define NGX_HTTP_VHOST_TRAFFIC_STATUS_PROMETHEUS_FMT_CACHE_S \

0 commit comments

Comments
 (0)