From 5e02c4d32062675e7b5b90df1a4ebad212dcb978 Mon Sep 17 00:00:00 2001 From: sqozz Date: Fri, 11 May 2018 23:08:18 +0200 Subject: [PATCH] Add food metric --- schlafana.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/schlafana.py b/schlafana.py index 26e8815..b882ef9 100644 --- a/schlafana.py +++ b/schlafana.py @@ -55,6 +55,36 @@ class BotMassGaugeCollector(object): yield c +class BotFoodCarrionCollector(object): + def collect(self): + c = CounterMetricFamily("carrion_food", "Carrion food consumed", labels=["name", "snake_id", "code_id"]) + for user in game.users.users: + user = game.users.users.get(user) + rev = user.revs.get(user.current_rev) + c.add_metric([user.name, str(user.current_worm), str(user.current_rev)], rev.carrion_food_consumed) + yield c + + +class BotFoodNaturalCollector(object): + def collect(self): + c = CounterMetricFamily("natural_food", "Natural food consumed", labels=["name", "snake_id", "code_id"]) + for user in game.users.users: + user = game.users.users.get(user) + rev = user.revs.get(user.current_rev) + c.add_metric([user.name, str(user.current_worm), str(user.current_rev)], rev.natural_food_consumed) + yield c + + +class BotFoodHuntedCollector(object): + def collect(self): + c = CounterMetricFamily("hunted_food", "Hunted food consumed", labels=["name", "snake_id", "code_id"]) + for user in game.users.users: + user = game.users.users.get(user) + rev = user.revs.get(user.current_rev) + c.add_metric([user.name, str(user.current_worm), str(user.current_rev)], rev.hunted_food_consumed) + yield c + + def main(): global game game = Game() @@ -73,6 +103,9 @@ def main(): REGISTRY.register(BotKillCollector()) REGISTRY.register(BotRevisionCountCollector()) REGISTRY.register(BotMassGaugeCollector()) + REGISTRY.register(BotFoodCarrionCollector()) + REGISTRY.register(BotFoodNaturalCollector()) + REGISTRY.register(BotFoodHuntedCollector()) start_http_server(9000) logger.info("Start prometheus scrape endpoint")