add more metrics
This commit is contained in:
parent
1bddd3c135
commit
8a45186ecb
@ -1,4 +1,5 @@
|
||||
|
||||
import time
|
||||
import os
|
||||
import json
|
||||
from typing import List, Set, Dict, Tuple, Optional
|
||||
import random
|
||||
@ -14,8 +15,10 @@ import bang.expansions.fistful_of_cards.card_events as ce
|
||||
import bang.expansions.high_noon.card_events as ceh
|
||||
import bang.expansions.gold_rush.shop_cards as grc
|
||||
import bang.expansions.gold_rush.characters as grch
|
||||
import datadog
|
||||
|
||||
class Game:
|
||||
def __init__(self, name, sio:socketio):
|
||||
def __init__(self, name, sio:socketio, dd_api:datadog.api = None):
|
||||
super().__init__()
|
||||
self.sio = sio
|
||||
self.name = name
|
||||
@ -447,6 +450,8 @@ class Game:
|
||||
if not self.someone_won:
|
||||
self.someone_won = True
|
||||
self.sio.emit('chat_message', room=self.name, data=f'_won|{p.name}|{p.role.name}')
|
||||
if self.dd_api:
|
||||
self.dd_api.Metric.send(metric='player_win', points=[(int(time.time()), 1)], tags=["server:backend", f"host:{os.environ['HOST']}", f"char:{p.character.name}", f"role:{p.role.name}"])
|
||||
p.notify_self()
|
||||
if hasattr(self.sio, 'is_fake'):
|
||||
print('announces_winners(): Running for tests, you will have to call reset manually!')
|
||||
@ -604,6 +609,8 @@ class Game:
|
||||
self.is_handling_death = True
|
||||
import bang.expansions.dodge_city.characters as chd
|
||||
print(f'{self.name}: the killer is {player.attacker}')
|
||||
if self.dd_api:
|
||||
self.dd_api.Metric.send(metric='player_death', points=[(int(time.time()), 1)], tags=["server:backend", f"host:{os.environ['HOST']}", f"char:{player.character.name}", f"role:{player.role.name}"])
|
||||
if len([c for c in player.gold_rush_equipment if isinstance(c, grc.Ricercato)]) > 0 and player.attacker and player.attacker in self.players:
|
||||
player.attacker.gold_nuggets += 1
|
||||
player.attacker.hand.append(self.deck.draw(True))
|
||||
|
@ -184,7 +184,7 @@ def create_room(sid, room_name):
|
||||
room_name += f'_{random.randint(0,100)}'
|
||||
sio.leave_room(sid, 'lobby')
|
||||
sio.enter_room(sid, room_name)
|
||||
g = Game(room_name, sio)
|
||||
g = Game(room_name, sio, api if send_metrics else None)
|
||||
g.add_player(sio.get_session(sid))
|
||||
if room_name in blacklist:
|
||||
g.is_hidden = True
|
||||
@ -284,7 +284,7 @@ def start_game(sid):
|
||||
ses.game.start_game()
|
||||
advertise_lobbies()
|
||||
if send_metrics:
|
||||
api.Metric.send(metric='start_game', points=[(int(time.time()), 1)], tags=["server:backend", f"host:{os.environ['HOST']}", [f"exp:{e}" for e in ses.game.expansions]])
|
||||
api.Metric.send(metric='start_game', points=[(int(time.time()), 1)], tags=(["server:backend", f"host:{os.environ['HOST']}"] + [f"exp:{e}" for e in ses.game.expansions]))
|
||||
|
||||
@sio.event
|
||||
def set_character(sid, name):
|
||||
|
Loading…
Reference in New Issue
Block a user