diff options
author | Will Hunt <will@half-shot.uk> | 2018-06-07 11:37:12 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-07 11:37:12 +0100 |
commit | 13d211edc1731786eecdc7f43d77409b60c677cd (patch) | |
tree | 42743b1eb49d5e195361dd6b99f0dc5c95e8ce8e /synapse/appservice | |
parent | Merge pull request #3363 from matrix-org/rav/fix_purge (diff) | |
parent | Let's try labels instead of label, that might work (diff) | |
download | synapse-13d211edc1731786eecdc7f43d77409b60c677cd.tar.xz |
Merge pull request #3344 from Half-Shot/hs/as-metrics
Add metrics to track appservice transactions
Diffstat (limited to 'synapse/appservice')
-rw-r--r-- | synapse/appservice/api.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/synapse/appservice/api.py b/synapse/appservice/api.py index 00efff1464..47251fb6ad 100644 --- a/synapse/appservice/api.py +++ b/synapse/appservice/api.py @@ -24,8 +24,27 @@ from synapse.types import ThirdPartyInstanceID import logging import urllib +from prometheus_client import Counter + logger = logging.getLogger(__name__) +sent_transactions_counter = Counter( + "synapse_appservice_api_sent_transactions", + "Number of /transactions/ requests sent", + ["service"] +) + +failed_transactions_counter = Counter( + "synapse_appservice_api_failed_transactions", + "Number of /transactions/ requests that failed to send", + ["service"] +) + +sent_events_counter = Counter( + "synapse_appservice_api_sent_events", + "Number of events sent to the AS", + ["service"] +) HOUR_IN_MS = 60 * 60 * 1000 @@ -219,12 +238,15 @@ class ApplicationServiceApi(SimpleHttpClient): args={ "access_token": service.hs_token }) + sent_transactions_counter.labels(service.id).inc() + sent_events_counter.labels(service.id).inc(len(events)) defer.returnValue(True) return except CodeMessageException as e: logger.warning("push_bulk to %s received %s", uri, e.code) except Exception as ex: logger.warning("push_bulk to %s threw exception %s", uri, ex) + failed_transactions_counter.labels(service.id).inc() defer.returnValue(False) def _serialize(self, events): |