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 (#13342)
Browse files Browse the repository at this point in the history
  • Loading branch information
David Robertson authored Jul 21, 2022
1 parent 5012275 commit 34949ea
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
1 change: 1 addition & 0 deletions changelog.d/13342.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
When reporting metrics is enabled, use ~8x less data to describe DB transaction metrics.
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 Counter, Histogram
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 34949ea

Please sign in to comment.