From 6436453a89ccc8ad9931480793fc497e9d6c3aaa Mon Sep 17 00:00:00 2001 From: jrconlin Date: Wed, 1 Jul 2020 00:42:56 +0000 Subject: [PATCH] bug: put markus metric handling on a deferred thread Closes #1408 --- autopush/metrics.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/autopush/metrics.py b/autopush/metrics.py index e5b37632..26b9afd0 100644 --- a/autopush/metrics.py +++ b/autopush/metrics.py @@ -6,7 +6,7 @@ Sequence ) -from twisted.internet import reactor +from twisted.internet import (reactor, threads) import markus @@ -92,16 +92,22 @@ def _make_tags(self, tags): return tags def increment(self, name, count=1, tags=None, **kwargs): - self._client.incr(self._prefix_name(name), count, - tags=self._make_tags(tags)) + threads.deferToThread( + self._client.incr(self._prefix_name(name), count, + tags=self._make_tags(tags)) + ) def gauge(self, name, count, tags=None, **kwargs): - self._client.gauge(self._prefix_name(name), count, - tags=self._make_tags(tags)) + threads.deferToThread( + self._client.gauge(self._prefix_name(name), count, + tags=self._make_tags(tags)) + ) def timing(self, name, duration, tags=None, **kwargs): - self._client.timing(self._prefix_name(name), value=duration, - tags=self._make_tags(tags)) + threads.deferToThread( + self._client.timing(self._prefix_name(name), value=duration, + tags=self._make_tags(tags)) + ) def from_config(conf):