Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Track DB txn times w/ two counters, not histogram
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
David Robertson committed Jul 20, 2022
1 parent d399504 commit 114c768
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions synapse/storage/database.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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,
Expand Down

0 comments on commit 114c768

Please sign in to comment.