Example #1
0
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
Example #2
0
 def __init__(self, core, key):
     self.collectd = Collectd()
     self.data = []
     self.key = key
     self.core = core