def __init__(self, stampedAPI): self.statsd = StatsD(host="localhost", port=8125) self.stampedAPI = stampedAPI self._pool = Pool(1) if not self.stampedAPI.lite_mode: self._pool.spawn(self._init)
def _init(self): # NOTE: disabling StatsD for V2 launch return time.sleep(15) logs.info("initializing StatsD") host, port = "localhost", 8125 if utils.is_ec2(): done = False sleep = 1 while not done: try: stack_info = libs.ec2_utils.get_stack() if stack_info is None: raise for node in stack_info.nodes: if 'monitor' in node.roles: host, port = node.private_ip_address, 8125 done = True break except: utils.printException() sleep *= 2 time.sleep(sleep) if sleep > 32: logs.warning("ERROR initializing StatsD!!!") return else: return logs.info("initializing StatsD at %s:%d" % (host, port)) self.statsd = StatsD(host, port)
class StatsDSink(AStatsSink): def __init__(self, stampedAPI): self.statsd = StatsD(host="localhost", port=8125) self.stampedAPI = stampedAPI self._pool = Pool(1) if not self.stampedAPI.lite_mode: self._pool.spawn(self._init) def _init(self): # NOTE: disabling StatsD for V2 launch return time.sleep(15) logs.info("initializing StatsD") host, port = "localhost", 8125 if utils.is_ec2(): done = False sleep = 1 while not done: try: stack_info = libs.ec2_utils.get_stack() if stack_info is None: raise for node in stack_info.nodes: if 'monitor' in node.roles: host, port = node.private_ip_address, 8125 done = True break except: utils.printException() sleep *= 2 time.sleep(sleep) if sleep > 32: logs.warning("ERROR initializing StatsD!!!") return else: return logs.info("initializing StatsD at %s:%d" % (host, port)) self.statsd = StatsD(host, port) def time(self, name, time, sample_rate=1): logs.debug("[%s-%s:%d] time: %s %0.3f ms" % (self, self.statsd.addr[0], self.statsd.addr[1], name, time)) return self.statsd.time(name, time, sample_rate) def increment(self, name, sample_rate=1): logs.debug("[%s-%s:%d] increment: %s" % (self, self.statsd.addr[0], self.statsd.addr[1], name)) if 0 == sample_rate: return return self.statsd.increment(name, sample_rate) def decrement(self, name, sample_rate=1): logs.debug("[%s-%s:%d] decrement: %s" % (self, self.statsd.addr[0], self.statsd.addr[1], name)) if 0 == sample_rate: return return self.statsd.decrement(name, sample_rate)