From 9e4faf28901f84fda080dc3e582f653039107ebe Mon Sep 17 00:00:00 2001 From: Andrey Novikov Date: Wed, 21 Dec 2022 12:32:18 +0300 Subject: [PATCH] Add custom buckets setting for size histograms --- django_prometheus/middleware.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/django_prometheus/middleware.py b/django_prometheus/middleware.py index fd72d784..5c7855b6 100644 --- a/django_prometheus/middleware.py +++ b/django_prometheus/middleware.py @@ -25,6 +25,8 @@ float("inf"), ) +DEFAULT_BYTES_BUCKETS = PowersOf(2, 30) + class Metrics: _instance = None @@ -121,7 +123,9 @@ def register(self): Histogram, "django_http_requests_body_total_bytes", "Histogram of requests by body size.", - buckets=PowersOf(2, 30), + buckets=getattr( + settings, "PROMETHEUS_BYTES_BUCKETS", DEFAULT_BYTES_BUCKETS + ), namespace=NAMESPACE, ) # Set in process_template_response @@ -151,7 +155,9 @@ def register(self): Histogram, "django_http_responses_body_total_bytes", "Histogram of responses by body size.", - buckets=PowersOf(2, 30), + buckets=getattr( + settings, "PROMETHEUS_BYTES_BUCKETS", DEFAULT_BYTES_BUCKETS + ), namespace=NAMESPACE, ) self.responses_by_charset = self.register_metric(