Initial attempt at a scalar callback-based metric to give instantaneous snapshot gauges

This commit is contained in:
Paul "LeoNerd" Evans 2015-03-04 16:46:44 +00:00
parent b0cdf097f4
commit d8caa5454d
3 changed files with 45 additions and 2 deletions

View file

@ -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)