예제 #1
0
 def setUp(self):
     from perfmetrics import set_statsd_client
     from perfmetrics import statsd_client
     from perfmetrics.testing import FakeStatsDClient
     self.stat_client = FakeStatsDClient()
     self.__orig_client = statsd_client()
     set_statsd_client(self.stat_client)
예제 #2
0
 def tearDown(self):
     del self.viewer.adapter.poller.poll_invalidations
     self.coord.unregister(self.viewer)
     self.viewer = None
     self.coord = None
     from perfmetrics import set_statsd_client
     set_statsd_client(self.__orig_client)
예제 #3
0
 def setUp(self):
     from perfmetrics import set_statsd_client
     from perfmetrics import statsd_client
     from perfmetrics.testing import FakeStatsDClient
     from .. import vote
     self.stat_client = FakeStatsDClient()
     self.__orig_client = statsd_client()
     self.__orig_sample_rate = vote.METRIC_SAMPLE_RATE
     vote.METRIC_SAMPLE_RATE = 1
     set_statsd_client(self.stat_client)
예제 #4
0
 def setUp(self):
     self.coord = self._makeOne()
     self.viewer = MockViewer()
     self.coord.register(self.viewer)
     self.polled_tid = 0
     self.polled_changes = None
     self.viewer.adapter.poller.poll_invalidations = self.poll_invalidations
     self.viewer.adapter.poller.get_current_tid = self.get_current_tid
     from perfmetrics import set_statsd_client
     from perfmetrics import statsd_client
     from perfmetrics.testing import FakeStatsDClient
     self.stat_client = FakeStatsDClient()
     self.__orig_client = statsd_client()
     set_statsd_client(self.stat_client)
예제 #5
0
파일: config.py 프로젝트: SyZn/zperfmetrics
 def create(self, *args):
     prefix = ''
     if self.before:
         prefix += self.before + '.'
     if self.hostname:
         prefix += socket.gethostname() + '.'
     if self.after:
         prefix += self.after + '.'
     prefix = prefix.strip('.')
     url = urlparse.urlparse(self.uri)
     if url.query:
         qs = urlparse.parse_qs(url.query)
         preset = qs.get('prefix', [])
         if preset:
             prefix = preset[0] + '.' + prefix
     parts = list(url)
     parts[4] = 'prefix=' + prefix
     set_statsd_client(urlparse.urlunparse(parts))
예제 #6
0
 def create(self, *args):
     prefix = ''
     if self.before:
         prefix += self.before + '.'
     if self.hostname:
         prefix += socket.gethostname() + '.'
     if self.after:
         prefix += self.after + '.'
     prefix = prefix.strip('.')
     url = urlparse.urlparse(self.uri)
     if url.query:
         qs = urlparse.parse_qs(url.query)
         preset = qs.get('prefix', [])
         if preset:
             prefix = preset[0] + '.' + prefix
     parts = list(url)
     parts[4] = 'prefix=' + prefix
     set_statsd_client(urlparse.urlunparse(parts))
예제 #7
0
def main():
    t = timeit('f()', 'from __main__ import func_without_metric as f',
               number=1000)
    print('%f' % t)
    t = timeit('f()', 'from __main__ import func_with_metric as f',
               number=1000)
    print('%f' % t)

    set_statsd_client('statsd://localhost:8125')

    t = timeit('f()', 'from __main__ import func_with_metric as f',
               number=1000)
    print('%f' % t)

    from cProfile import runctx
    d = {'_range': range(10000), 'func_with_metric': func_with_metric}
    result = runctx('for _ in _range: func_with_metric()', d, d)
    print(result)
예제 #8
0
def main():
    t = timeit('f()',
               'from __main__ import func_without_metric as f',
               number=1000)
    print('%f' % t)
    t = timeit('f()',
               'from __main__ import func_with_metric as f',
               number=1000)
    print('%f' % t)

    set_statsd_client('statsd://localhost:8125')

    t = timeit('f()',
               'from __main__ import func_with_metric as f',
               number=1000)
    print('%f' % t)

    from cProfile import runctx
    d = {'_range': range(10000), 'func_with_metric': func_with_metric}
    result = runctx('for _ in _range: func_with_metric()', d, d)
    print(result)
예제 #9
0
 def test_configured_with_uri(self):
     from perfmetrics import set_statsd_client
     set_statsd_client('statsd://localhost:8125')
     from perfmetrics import StatsdClient
     from perfmetrics import statsd_client
     self.assertIsInstance(statsd_client(), StatsdClient)
예제 #10
0
from perfmetrics import Metric
from perfmetrics import set_statsd_client


@Metric(rate=0.001)
def myfunction():
    """Do something that might be expensive"""


class MyClass(object):
    @Metric(rate=0.001, method=True)
    def mymethod(self):
        """Do some other possibly expensive thing"""


try:
    xrange
except NameError:
    xrange = range  # Python 3


set_statsd_client('statsd://localhost:8125')
for i in xrange(1000000):
    myfunction()
    MyClass().mymethod()
예제 #11
0
 def tearDown(self):
     from perfmetrics import set_statsd_client
     set_statsd_client(self.__orig_client)
예제 #12
0
from perfmetrics import Metric
from perfmetrics import set_statsd_client


@Metric(rate=0.001)
def myfunction():
    """Do something that might be expensive"""


class MyClass(object):
    @Metric(rate=0.001, method=True)
    def mymethod(self):
        """Do some other possibly expensive thing"""


try:
    xrange
except NameError:
    xrange = range  # Python 3

set_statsd_client('statsd://localhost:8125')
for i in xrange(1000000):
    myfunction()
    MyClass().mymethod()
예제 #13
0
 def setUp(self):
     from perfmetrics import set_statsd_client
     set_statsd_client(None)
예제 #14
0
 def setUp(self):
     from perfmetrics import set_statsd_client, statsd_client_stack
     set_statsd_client(None)
     statsd_client_stack.clear()
예제 #15
0
파일: rpc.py 프로젝트: pypa/pypi-legacy
if conf.cache_redis_url is None:
    cache_redis = None
else:
    cache_redis = redis.StrictRedis.from_url(conf.cache_redis_url, **redis_kwargs)

# Note: slice object is to cut off the instance of Store that would be passed along
package_tag_lru = RedisLru(cache_redis, expires=86400, tag="pkg~%s", arg_index=1, slice_obj=slice(1, None))
cache_by_pkg = package_tag_lru.decorator

if conf.xmlrpc_redis_url is None:
    xmlrpc_redis = None
else:
    xmlrpc_redis = redis.StrictRedis.from_url(conf.xmlrpc_redis_url, **redis_kwargs)

STATSD_URI = "statsd://127.0.0.1:8125?prefix=%s" % (conf.database_name)
set_statsd_client(STATSD_URI)
statsd_reporter = statsd_client()

def log_xmlrpc_request(remote_addr, user_agent, data):
    if conf.xmlrpc_request_log_file:
        try:
            with open(conf.xmlrpc_request_log_file, 'a') as f:
                params, method = xmlrpclib.loads(data)
                dogstatsd.increment('xmlrpc.request', tags=['method:{}'.format(method)])
                record = json.dumps({
                    'timestamp': datetime.datetime.utcnow().isoformat(),
                    'remote_addr': remote_addr,
                    'user_agent': user_agent,
                    'method': method,
                    'params': params,
                    'type': 'request',
예제 #16
0
 def setUp(self):
     from perfmetrics import set_statsd_client
     set_statsd_client(None)
예제 #17
0
 def setUp(self):
     from perfmetrics import set_statsd_client, statsd_client_stack
     set_statsd_client(None)
     statsd_client_stack.clear()
예제 #18
0
 def test_configured_with_other_client(self):
     other_client = object()
     from perfmetrics import set_statsd_client
     set_statsd_client(other_client)
     from perfmetrics import statsd_client
     self.assertIs(statsd_client(), other_client)
예제 #19
0
 def test_configured_with_uri(self):
     from perfmetrics import set_statsd_client
     set_statsd_client('statsd://localhost:8125')
     from perfmetrics import StatsdClient
     from perfmetrics import statsd_client
     self.assertIsInstance(statsd_client(), StatsdClient)
예제 #20
0
if conf.cache_redis_url is None:
    cache_redis = None
else:
    cache_redis = redis.StrictRedis.from_url(conf.cache_redis_url, **redis_kwargs)

# Note: slice object is to cut off the instance of Store that would be passed along
package_tag_lru = RedisLru(cache_redis, expires=86400, tag="pkg~%s", arg_index=1, slice_obj=slice(1, None))
cache_by_pkg = package_tag_lru.decorator

if conf.xmlrpc_redis_url is None:
    xmlrpc_redis = None
else:
    xmlrpc_redis = redis.StrictRedis.from_url(conf.xmlrpc_redis_url, **redis_kwargs)

STATSD_URI = "statsd://127.0.0.1:8125?prefix=%s" % (conf.database_name)
set_statsd_client(STATSD_URI)
statsd_reporter = statsd_client()

def log_xmlrpc_request(remote_addr, user_agent, data):
    if conf.xmlrpc_request_log_file:
        try:
            with open(conf.xmlrpc_request_log_file, 'a') as f:
                params, method = xmlrpclib.loads(data)
                record = json.dumps({
                    'timestamp': datetime.datetime.utcnow().isoformat(),
                    'remote_addr': remote_addr,
                    'user_agent': user_agent,
                    'method': method,
                    'params': params,
                })
                f.write(record + '\n')
예제 #21
0
 def test_configured_with_other_client(self):
     other_client = object()
     from perfmetrics import set_statsd_client
     set_statsd_client(other_client)
     from perfmetrics import statsd_client
     self.assertIs(statsd_client(), other_client)
예제 #22
0
 def tearDown(self):
     from perfmetrics import set_statsd_client
     from .. import vote
     set_statsd_client(self.__orig_client)
     vote.METRIC_SAMPLE_RATE = self.__orig_sample_rate