diff --git a/backend/bang/game.py b/backend/bang/game.py index 9f0f160..7c81491 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -258,7 +258,7 @@ class Game: self.choose_characters() if 'gold_rush' in self.expansions: self.notify_gold_rush_shop() - Metrics.send_metric('start_game', points=[1], tags=([f"exp:{e}" for e in self.expansions] + [f"players:{self.initial_players}"])) + Metrics.send_metric('start_game', points=[1], tags=([f"exp:{e}" for e in self.expansions] + [f"players:{self.initial_players}", f"competitive:{self.is_competitive}"])) def distribute_roles(self): available_roles: List[roles.Role] = [] @@ -465,6 +465,7 @@ class Game: def play_turn(self): self.incremental_turn += 1 + Metrics.send_metric('incremental_turn', points=[self.incremental_turn], tags=[f'game:{self.SEED}']) if self.players[self.turn].is_dead: pl = sorted(self.get_dead_players(), key=lambda x:x.death_turn)[0] if self.check_event(ce.DeadMan) and not self.did_resuscitate_deadman and pl == self.players[self.turn]: diff --git a/backend/bang/players.py b/backend/bang/players.py index e8d6091..7f12dd1 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -648,7 +648,7 @@ class Player: self.hand.insert(hand_index, card) else: did_play_card = True - Metrics.send_metric('play_card', points=[1], tags=[f'success:{did_play_card}', f'card:{card.name}', f'bot:{self.is_bot}']) + Metrics.send_metric('play_card', points=[1], tags=[f'success:{did_play_card}', f'card:{card.name}', f'bot:{self.is_bot}', f'exp:{card.expansion}']) print("did play card:", did_play_card) self.notify_self() if self.is_bot: diff --git a/backend/server.py b/backend/server.py index 066f5c6..791eb5d 100644 --- a/backend/server.py +++ b/backend/server.py @@ -49,6 +49,7 @@ def advertise_lobbies(): sio.emit('lobbies', room='lobby', data=[{'name': g.name, 'players': len(g.players), 'locked': g.password != ''} for g in games if not g.started and len(g.players) < 10 and not g.is_hidden]) sio.emit('spectate_lobbies', room='lobby', data=[{'name': g.name, 'players': len(g.players), 'locked': g.password != ''} for g in games if g.started]) Metrics.send_metric('lobbies', points=[len(games)]) + Metrics.send_metric('online_players', points=[online_players]) @sio.event def connect(sid, environ): @@ -546,6 +547,8 @@ def chat_message(sid, msg, pl=None): else: color = sid.encode('utf-8').hex()[-3:] sio.emit('chat_message', room=ses.game.name, data={'color': f'#{color}','text':f'[{ses.name}]: {msg}'}) + Metrics.send_metric('chat_message', points=[1], tags=[f'game:{ses.game.name.replace(" ","_")}']) + """ @@ -562,6 +565,7 @@ def get_cards(sid): cards_dict[ca.name] = ca cards = [cards_dict[i] for i in cards_dict] sio.emit('cards_info', room=sid, data=json.dumps(cards, default=lambda o: o.__dict__)) + Metrics.send_metric('help_screen_viewed', points=[1]) @sio.event def get_characters(sid):