def test_report_counters(self): """ C{report_counters} keeps the last value of a called function and on the next call returns the difference between current return value and previous return value. """ def generate(): yield {"foo": 1} yield {"foo": 5} yield {"foo": 10} yield {"foo": 17} generate = generate() def reporter(): return generate.next() wrapped = report_counters(reporter) self.assertEqual({}, wrapped()) self.assertEqual({"foo": 4}, wrapped()) self.assertEqual({"foo": 5}, wrapped()) self.assertEqual({"foo": 7}, wrapped())
def test_report_counters(self): """ C{report_counters} keeps the last value of a called function and on the next call returns the difference between current return value and previous return value. """ def generate(): yield {"foo": 1} yield {"foo": 5} yield {"foo": 10} yield {"foo": 17} generate = generate() def reporter(): return generate.next() wrapped = report_counters(reporter) self.assertEqual({}, wrapped()) self.assertEqual({"foo": 4}, wrapped()) self.assertEqual({"foo": 5}, wrapped()) self.assertEqual({"foo": 7}, wrapped())
from supervisor import childutils, states from django.conf import settings from metrics.metricsconnector import MetricsConnector from txstatsd.process import ( report_file_stats, report_counters, report_system_stats, parse_meminfo, parse_loadavg, parse_netdev, ProcessReport) from ubuntuone.storage.server.logger import configure_logger SYSTEM_STATS = ( report_file_stats("/proc/meminfo", parse_meminfo), report_file_stats("/proc/loadavg", parse_loadavg), report_counters(report_file_stats("/proc/net/dev", parse_netdev)), report_counters(report_system_stats, percpu=True), ) class StatsWorker(object): """Get stats from different processes and the machine.""" def __init__(self, interval, namespace_prefix, supervisor_rpc): self.interval = interval self.rpc = supervisor_rpc self.process_cache = {} self.metrics = MetricsConnector.new_metrics( namespace="%s.resources" % (namespace_prefix)) self.logger = logging.getLogger("resources")
from supervisor import childutils, states from metrics.metricsconnector import MetricsConnector from txstatsd.process import (report_file_stats, report_counters, report_system_stats, parse_meminfo, parse_loadavg, parse_netdev, ProcessReport) from ubuntuone.storage.server.logger import configure_logger from config import config SYSTEM_STATS = ( report_file_stats("/proc/meminfo", parse_meminfo), report_file_stats("/proc/loadavg", parse_loadavg), report_counters(report_file_stats("/proc/net/dev", parse_netdev)), report_counters(report_system_stats, percpu=True), ) class StatsWorker(object): """Get stats from different processes and the machine.""" def __init__(self, interval, namespace_prefix, supervisor_rpc): self.interval = interval self.rpc = supervisor_rpc self.process_cache = {} self.metrics = MetricsConnector.new_metrics(namespace="%s.resources" % (namespace_prefix)) self.logger = logging.getLogger("resources")