From 114c7688f855088fbc1013fc2586abd09f37efd8 Mon Sep 17 00:00:00 2001 From: David Robertson Date: Wed, 20 Jul 2022 17:56:06 +0100 Subject: [PATCH] Track DB txn times w/ two counters, not histogram By my reckoning, this should mean that each txn `desc` produces 2 time series, down from 17. If we don't like this, we could keep the histogram but configure it with coarser buckets. Closes #11081. --- synapse/storage/database.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/synapse/storage/database.py b/synapse/storage/database.py index ea672ff89e73..bd3afafe2618 100644 --- a/synapse/storage/database.py +++ b/synapse/storage/database.py @@ -39,7 +39,7 @@ ) import attr -from prometheus_client import Histogram +from prometheus_client import Histogram, Summary, Counter from typing_extensions import Concatenate, Literal, ParamSpec from twisted.enterprise import adbapi @@ -76,7 +76,8 @@ sql_scheduling_timer = Histogram("synapse_storage_schedule_time", "sec") sql_query_timer = Histogram("synapse_storage_query_time", "sec", ["verb"]) -sql_txn_timer = Histogram("synapse_storage_transaction_time", "sec", ["desc"]) +sql_txn_count = Counter("synapse_storage_transaction_time_count", "sec", ["desc"]) +sql_txn_duration = Counter("synapse_storage_transaction_time_sum", "sec", ["desc"]) # Unique indexes which have been added in background updates. Maps from table name @@ -795,7 +796,8 @@ def new_transaction( self._current_txn_total_time += duration self._txn_perf_counters.update(desc, duration) - sql_txn_timer.labels(desc).observe(duration) + sql_txn_count.labels(desc).inc(1) + sql_txn_duration.labels(desc).inc(duration) async def runInteraction( self,