def _create_rule_counter(self, rule_id): """ Create a rule counter :param rule_id: id of the rule to create a counter for :return: stats_collector: StatsCollector rolling time window """ collection_window = int(os.getenv('STATS_COLLECTION_WINDOW', 900)) stats_key = 'stats:{}:{}:{}'.format(self.traptor_type, self.traptor_id, rule_id) stats_collector = StatsCollector.get_rolling_time_window(redis_conn=self.redis_conn, key=stats_key, window=collection_window) return stats_collector
default=False) parser.add_argument('-r', '--redis-host', action='store', required=True, help="The Redis host ip") parser.add_argument('-p', '--redis-port', action='store', default='6379', help="The Redis port") parser.add_argument('-P', '--redis-password', action='store', default=None, help="The Redis password") args = vars(parser.parse_args()) the_window = StatsCollector.SECONDS_1_MINUTE if args['rolling_window']: counter = StatsCollector.get_rolling_time_window(host=args['redis_host'], port=args['redis_port'], password=args['redis_password'], window=the_window, cycle_time=1) else: counter = StatsCollector.get_time_window(host=args['redis_host'], port=args['redis_port'], password=args['redis_password'], window=the_window, keep_max=3) print("Kill this program by pressing `ENTER` when done") the_time = int(time()) floor_time = the_time % the_window final_time = the_time - floor_time
description='Example key press stats collector.\n') parser.add_argument('-rw', '--rolling-window', action='store_true', required=False, help="Use a RollingTimeWindow counter", default=False) parser.add_argument('-r', '--redis-host', action='store', required=True, help="The Redis host ip") parser.add_argument('-p', '--redis-port', action='store', default='6379', help="The Redis port") args = vars(parser.parse_args()) the_window = StatsCollector.SECONDS_1_MINUTE if args['rolling_window']: counter = StatsCollector.get_rolling_time_window(host=args['redis_host'], port=args['redis_port'], window=the_window, cycle_time=1) else: counter = StatsCollector.get_time_window(host=args['redis_host'], port=args['redis_port'], window=the_window, keep_max=3) print "Kill this program by pressing `ENTER` when done" the_time = int(time()) floor_time = the_time % the_window final_time = the_time - floor_time pressed_enter = False while not pressed_enter: