class Stat: type = None def __init__(self, core, key): self.collectd = Collectd() self.data = [] self.key = key self.core = core def rollup(self): pass def send_to_collectd(self, value): value = int(value) #print 'Sending %s = %d' % (self.key, value) # send to collectd hostname = socket.getfqdn() id = "%s/reflex/gauge-%s" % (hostname, self.key) self.collectd.putval(id, ['U', value], { 'interval': 60 }) def send_to_redis(self, value): # increase redis counter if value: hour = datetime.utcnow().strftime('%Y%m%d%H') key = "%s_%s" % (self.key, hour) # log.msg('Incrementing in redis: %r by %d' % (key, value)) if not self.core.redis: log.msg("Redis not available") return self.core.redis.incr(key, value) self.core.redis.sadd('reflex_stats', self.key) def update(self, data): #print 'Updating %s with %s' % (self.key, data) pass
def __init__(self, core, key): self.collectd = Collectd() self.data = [] self.key = key self.core = core