def register(self, gauge): if isinstance(gauge, basestring): gauge = MutatorGauge(gauge) if not isinstance(gauge, NamedGauge) and not namablegauge(gauge): raise Metrics.Error('Must register either a string or a Gauge-like object! Got %s' % gauge) self._metrics[gauge.name()] = gauge return gauge
def of(gauge, name=None, window=None, clock=None): kw = {} if window: kw.update(window=window) if clock: kw.update(clock=clock) if name: if not gaugelike(gauge): raise TypeError("Rate.of must take a Gauge-like object! Got %s" % type(gauge)) return Rate(name, gauge, **kw) else: if not namablegauge(gauge): raise TypeError("Rate.of must take a namable Gauge-like object if no name specified!") return Rate(gauge.name(), gauge, **kw)