Пример #1
0
        private static void UpdateStatus(AverageLoginAlert gameStatus, AverageLoginEvent currentStatus, string gameTitle, ILogger log)
        {
            if (currentStatus.LoginCount > 0)
            {
                gameStatus.LoginCounter = 0;
            }
            else
            {
                gameStatus.LoginCounter += 1;
            }

            if (gameStatus.LoginCounter < WarningThreshold)
            {
                gameStatus.Status = GameStatus.Available;
            }

            if (gameStatus.LoginCounter >= WarningThreshold && gameStatus.LoginCounter < CriticalThreshold)
            {
                gameStatus.Status = GameStatus.Warning;
                if (gameStatus.LoginCounter == WarningThreshold)
                {
                    log.LogWarning($"{DateTime.UtcNow} - Game {gameTitle} has reached WARNING level on Login Event Count..");
                }
            }

            if (gameStatus.LoginCounter >= CriticalThreshold && gameStatus.LoginCounter < DownThreshold)
            {
                gameStatus.Status = GameStatus.Critical;
                if (gameStatus.LoginCounter == CriticalThreshold)
                {
                    log.LogWarning($"{DateTime.UtcNow} - Game {gameTitle} has reached CRITICAL level on Login Event Count..");
                }
            }

            if (gameStatus.LoginCounter >= DownThreshold)
            {
                gameStatus.Status = GameStatus.Down;
                if (gameStatus.LoginCounter == DownThreshold)
                {
                    log.LogWarning($"{DateTime.UtcNow} - Game {gameTitle} has reached DOWN level on Login Event Count..");
                }
            }

            gameStatus.LoginCount = currentStatus.LoginCount;
        }
Пример #2
0
        private static void UpdateAverageStatus(AverageLoginAlert gameStatus, AverageLoginEvent currentStatus, string gameTitle, ILogger log)
        {
            if (getAverageDifference(gameStatus.LoginCount, currentStatus.LoginCount) < float.Parse(config["AveragePercentile"]))
            {
                gameStatus.LoginAverageCounter = 0;
            }
            else
            {
                gameStatus.LoginAverageCounter += 1;
            }

            if (gameStatus.LoginAverageCounter < WarningThreshold)
            {
                gameStatus.AverageStatus = GameStatus.Available;
            }

            if (gameStatus.LoginAverageCounter >= WarningThreshold && gameStatus.LoginAverageCounter < CriticalThreshold)
            {
                gameStatus.AverageStatus = GameStatus.Warning;
                if (gameStatus.LoginAverageCounter == WarningThreshold)
                {
                    log.LogWarning($"{DateTime.UtcNow} - Game {gameTitle} has reached WARNING level on Login Event Count via Average Count..");
                }
            }

            if (gameStatus.LoginAverageCounter >= CriticalThreshold && gameStatus.LoginAverageCounter < DownThreshold)
            {
                gameStatus.AverageStatus = GameStatus.Critical;
                if (gameStatus.LoginAverageCounter == CriticalThreshold)
                {
                    log.LogWarning($"{DateTime.UtcNow} - Game {gameTitle} has reached CRITICAL level on Login Event Count via Average Count..");
                }
            }

            if (gameStatus.LoginAverageCounter >= DownThreshold)
            {
                gameStatus.AverageStatus = GameStatus.Down;
                if (gameStatus.LoginAverageCounter == DownThreshold)
                {
                    log.LogWarning($"{DateTime.UtcNow} - Game {gameTitle} has reached DOWN level on Login Event Count via Average Count..");
                }
            }

            gameStatus.LoginCount = currentStatus.LoginCount;
        }