add more metrics
This commit is contained in:
parent
1bddd3c135
commit
8a45186ecb
@ -1,4 +1,5 @@
|
|||||||
|
import time
|
||||||
|
import os
|
||||||
import json
|
import json
|
||||||
from typing import List, Set, Dict, Tuple, Optional
|
from typing import List, Set, Dict, Tuple, Optional
|
||||||
import random
|
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.high_noon.card_events as ceh
|
||||||
import bang.expansions.gold_rush.shop_cards as grc
|
import bang.expansions.gold_rush.shop_cards as grc
|
||||||
import bang.expansions.gold_rush.characters as grch
|
import bang.expansions.gold_rush.characters as grch
|
||||||
|
import datadog
|
||||||
|
|
||||||
class Game:
|
class Game:
|
||||||
def __init__(self, name, sio:socketio):
|
def __init__(self, name, sio:socketio, dd_api:datadog.api = None):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.sio = sio
|
self.sio = sio
|
||||||
self.name = name
|
self.name = name
|
||||||
@ -447,6 +450,8 @@ class Game:
|
|||||||
if not self.someone_won:
|
if not self.someone_won:
|
||||||
self.someone_won = True
|
self.someone_won = True
|
||||||
self.sio.emit('chat_message', room=self.name, data=f'_won|{p.name}|{p.role.name}')
|
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()
|
p.notify_self()
|
||||||
if hasattr(self.sio, 'is_fake'):
|
if hasattr(self.sio, 'is_fake'):
|
||||||
print('announces_winners(): Running for tests, you will have to call reset manually!')
|
print('announces_winners(): Running for tests, you will have to call reset manually!')
|
||||||
@ -604,6 +609,8 @@ class Game:
|
|||||||
self.is_handling_death = True
|
self.is_handling_death = True
|
||||||
import bang.expansions.dodge_city.characters as chd
|
import bang.expansions.dodge_city.characters as chd
|
||||||
print(f'{self.name}: the killer is {player.attacker}')
|
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:
|
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.gold_nuggets += 1
|
||||||
player.attacker.hand.append(self.deck.draw(True))
|
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)}'
|
room_name += f'_{random.randint(0,100)}'
|
||||||
sio.leave_room(sid, 'lobby')
|
sio.leave_room(sid, 'lobby')
|
||||||
sio.enter_room(sid, room_name)
|
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))
|
g.add_player(sio.get_session(sid))
|
||||||
if room_name in blacklist:
|
if room_name in blacklist:
|
||||||
g.is_hidden = True
|
g.is_hidden = True
|
||||||
@ -284,7 +284,7 @@ def start_game(sid):
|
|||||||
ses.game.start_game()
|
ses.game.start_game()
|
||||||
advertise_lobbies()
|
advertise_lobbies()
|
||||||
if send_metrics:
|
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
|
@sio.event
|
||||||
def set_character(sid, name):
|
def set_character(sid, name):
|
||||||
|
Loading…
Reference in New Issue
Block a user