public void PlayerJoinedGame(Guid sessionId, BrawlFormat format)
 {
     _inGameCount.AddOrUpdate(format, f => new List <Guid> {
         sessionId
     }, (f, i) =>
     {
         i.Add(sessionId);
         return(i);
     });
     _telemetry.TrackMetric($"PlayersInGame.{format}", _inGameCount.GetValueOrDefault(format, new List <Guid>()).Count);
 }
 public async void PlayerLeftGame(Guid sessionId, BrawlFormat format)
 {
     await Task.Run(() =>
     {
         _inGameCount.AddOrUpdate(format, f => new List <Guid>(), (f, i) =>
         {
             i.Remove(sessionId);
             return(i);
         });
         var playersInGameInFormat = _inGameCount.GetValueOrDefault(format, new List <Guid>()).Count;
         _telemetry.TrackMetric($"PlayersInGame.{format}", playersInGameInFormat);
     });
 }