Revert "Merge pull request #3066 from matrix-org/rav/remove_redundant_metrics"

We aren't ready to release this yet, so I'm reverting it for now.

This reverts commit d1679a4ed7, reversing
changes made to e089100c62.
This commit is contained in:
Richard van der Hoff 2018-04-09 12:58:37 +01:00
parent 135fc5b9cd
commit 13decdbf96
5 changed files with 52 additions and 28 deletions

View File

@ -1,12 +1,3 @@
Changes in synapse v0.28.0 (2018-xx-xx)
=======================================
As previously advised, this release removes a number of redundant Prometheus
metrics. Administrators may need to update their dashboards and alerting rules
to use the updated metric names, if they have not already done so. See
`docs/metrics-howto.rst <docs/metrics-howto.rst#deprecated-metrics-removed-in-0-28-0>`_
for more details.
Changes in synapse v0.27.2 (2018-03-26) Changes in synapse v0.27.2 (2018-03-26)
======================================= =======================================

View File

@ -60,13 +60,6 @@ We would appreciate it if you could assist by ensuring this module is available
and ``report_stats`` is enabled. This will let us see if performance changes to and ``report_stats`` is enabled. This will let us see if performance changes to
synapse are having an impact to the general community. synapse are having an impact to the general community.
This release also removes a number of redundant Prometheus metrics.
Administrators may need to update their dashboards and alerting rules to use
the updated metric names, if they have not already done so. See
`docs/metrics-howto.rst <docs/metrics-howto.rst#deprecated-metrics-removed-in-0-28-0>`_
for more details.
Upgrading to v0.15.0 Upgrading to v0.15.0
==================== ====================

View File

@ -34,17 +34,6 @@ How to monitor Synapse metrics using Prometheus
Restart prometheus. Restart prometheus.
Deprecated metrics removed in 0.28.0
------------------------------------
Synapse 0.28.0 removes all of the metrics deprecated by 0.27.0, which are those
listed under "Old name" below. This has been done to reduce the bandwidth used
by gathering metrics and the storage requirements for the Prometheus server, as
well as reducing CPU overhead for both Synapse and Prometheus.
Administrators should update any alerts or monitoring dashboards to use the
"New name" listed below.
Block and response metrics renamed for 0.27.0 Block and response metrics renamed for 0.27.0
--------------------------------------------- ---------------------------------------------

View File

@ -47,6 +47,17 @@ metrics = synapse.metrics.get_metrics_for(__name__)
response_count = metrics.register_counter( response_count = metrics.register_counter(
"response_count", "response_count",
labels=["method", "servlet", "tag"], labels=["method", "servlet", "tag"],
alternative_names=(
# the following are all deprecated aliases for the same metric
metrics.name_prefix + x for x in (
"_requests",
"_response_time:count",
"_response_ru_utime:count",
"_response_ru_stime:count",
"_response_db_txn_count:count",
"_response_db_txn_duration:count",
)
)
) )
requests_counter = metrics.register_counter( requests_counter = metrics.register_counter(
@ -62,24 +73,39 @@ outgoing_responses_counter = metrics.register_counter(
response_timer = metrics.register_counter( response_timer = metrics.register_counter(
"response_time_seconds", "response_time_seconds",
labels=["method", "servlet", "tag"], labels=["method", "servlet", "tag"],
alternative_names=(
metrics.name_prefix + "_response_time:total",
),
) )
response_ru_utime = metrics.register_counter( response_ru_utime = metrics.register_counter(
"response_ru_utime_seconds", labels=["method", "servlet", "tag"], "response_ru_utime_seconds", labels=["method", "servlet", "tag"],
alternative_names=(
metrics.name_prefix + "_response_ru_utime:total",
),
) )
response_ru_stime = metrics.register_counter( response_ru_stime = metrics.register_counter(
"response_ru_stime_seconds", labels=["method", "servlet", "tag"], "response_ru_stime_seconds", labels=["method", "servlet", "tag"],
alternative_names=(
metrics.name_prefix + "_response_ru_stime:total",
),
) )
response_db_txn_count = metrics.register_counter( response_db_txn_count = metrics.register_counter(
"response_db_txn_count", labels=["method", "servlet", "tag"], "response_db_txn_count", labels=["method", "servlet", "tag"],
alternative_names=(
metrics.name_prefix + "_response_db_txn_count:total",
),
) )
# seconds spent waiting for db txns, excluding scheduling time, when processing # seconds spent waiting for db txns, excluding scheduling time, when processing
# this request # this request
response_db_txn_duration = metrics.register_counter( response_db_txn_duration = metrics.register_counter(
"response_db_txn_duration_seconds", labels=["method", "servlet", "tag"], "response_db_txn_duration_seconds", labels=["method", "servlet", "tag"],
alternative_names=(
metrics.name_prefix + "_response_db_txn_duration:total",
),
) )
# seconds spent waiting for a db connection, when processing this request # seconds spent waiting for a db connection, when processing this request

View File

@ -31,28 +31,53 @@ metrics = synapse.metrics.get_metrics_for(__name__)
block_counter = metrics.register_counter( block_counter = metrics.register_counter(
"block_count", "block_count",
labels=["block_name"], labels=["block_name"],
alternative_names=(
# the following are all deprecated aliases for the same metric
metrics.name_prefix + x for x in (
"_block_timer:count",
"_block_ru_utime:count",
"_block_ru_stime:count",
"_block_db_txn_count:count",
"_block_db_txn_duration:count",
)
)
) )
block_timer = metrics.register_counter( block_timer = metrics.register_counter(
"block_time_seconds", "block_time_seconds",
labels=["block_name"], labels=["block_name"],
alternative_names=(
metrics.name_prefix + "_block_timer:total",
),
) )
block_ru_utime = metrics.register_counter( block_ru_utime = metrics.register_counter(
"block_ru_utime_seconds", labels=["block_name"], "block_ru_utime_seconds", labels=["block_name"],
alternative_names=(
metrics.name_prefix + "_block_ru_utime:total",
),
) )
block_ru_stime = metrics.register_counter( block_ru_stime = metrics.register_counter(
"block_ru_stime_seconds", labels=["block_name"], "block_ru_stime_seconds", labels=["block_name"],
alternative_names=(
metrics.name_prefix + "_block_ru_stime:total",
),
) )
block_db_txn_count = metrics.register_counter( block_db_txn_count = metrics.register_counter(
"block_db_txn_count", labels=["block_name"], "block_db_txn_count", labels=["block_name"],
alternative_names=(
metrics.name_prefix + "_block_db_txn_count:total",
),
) )
# seconds spent waiting for db txns, excluding scheduling time, in this block # seconds spent waiting for db txns, excluding scheduling time, in this block
block_db_txn_duration = metrics.register_counter( block_db_txn_duration = metrics.register_counter(
"block_db_txn_duration_seconds", labels=["block_name"], "block_db_txn_duration_seconds", labels=["block_name"],
alternative_names=(
metrics.name_prefix + "_block_db_txn_duration:total",
),
) )
# seconds spent waiting for a db connection, in this block # seconds spent waiting for a db connection, in this block