コード例 #1
0
    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())
コード例 #2
0
ファイル: test_process.py プロジェクト: videlalvaro/shiji
    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())
コード例 #3
0
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")
コード例 #4
0
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")