|
|
|
@ -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.label(service.id).inc() |
|
|
|
|
sent_events_counter.label(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.label(service.id).inc() |
|
|
|
|
defer.returnValue(False) |
|
|
|
|
|
|
|
|
|
def _serialize(self, events): |
|
|
|
|