mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-09 21:52:17 -04:00
Initial attempt at a scalar callback-based metric to give instantaneous snapshot gauges
This commit is contained in:
parent
b0cdf097f4
commit
d8caa5454d
3 changed files with 45 additions and 2 deletions
|
@ -13,7 +13,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from .metric import CounterMetric, CacheCounterMetric
|
||||
from .metric import CounterMetric, CallbackMetric, CacheCounterMetric
|
||||
|
||||
|
||||
# We'll keep all the available metrics in a single toplevel dict, one shared
|
||||
|
@ -43,6 +43,15 @@ class Metrics(object):
|
|||
|
||||
return metric
|
||||
|
||||
def register_callback(self, name, callback, *args, **kwargs):
|
||||
full_name = "%s.%s" % (self.name_prefix, name)
|
||||
|
||||
metric = CallbackMetric(full_name, *args, callback=callback, **kwargs)
|
||||
|
||||
self._register(metric)
|
||||
|
||||
return metric
|
||||
|
||||
def register_cachecounter(self, name, *args, **kwargs):
|
||||
full_name = "%s.%s" % (self.name_prefix, name)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue