Пример #1
0
        private WardenStatsDto GetWardenStats(IList <WardenIteration> iterations)
        {
            var wardenStats = _statsCalculator.Calculate(iterations);
            var stats       = new WardenStatsDto
            {
                TotalUptime            = wardenStats.TotalUptime,
                TotalDowntime          = wardenStats.TotalDowntime,
                TotalIterations        = wardenStats.TotalResults,
                TotalValidIterations   = wardenStats.TotalValidResults,
                TotalInvalidIterations = wardenStats.TotalInvalidResults
            };

            var watcherCheckResults = iterations.SelectMany(x => x.Results)
                                      .Select(x => x.WatcherCheckResult)
                                      .GroupBy(x => x.Watcher.Name, x => x)
                                      .ToList();

            stats.Watchers = (from watcherGroup in watcherCheckResults
                              let watcher = watcherGroup.First().Watcher
                                            let watcherStats = _statsCalculator.Calculate(watcherGroup)
                                                               select new WatcherStatsDto
            {
                Name = watcher.Name,
                Type = watcher.Type.ToString().ToLowerInvariant(),
                TotalUptime = watcherStats.TotalUptime,
                TotalDowntime = watcherStats.TotalDowntime,
                TotalChecks = watcherStats.TotalResults,
                TotalValidChecks = watcherStats.TotalValidResults,
                TotalInvalidChecks = watcherStats.TotalInvalidResults,
            })
                             .OrderBy(x => x.Type);

            return(stats);
        }
Пример #2
0
        private WardenStatsDto GetWardenStats(IList<WardenIteration> iterations)
        {
            var wardenStats = _statsCalculator.Calculate(iterations);
            var stats = new WardenStatsDto
            {
                TotalUptime = wardenStats.TotalUptime,
                TotalDowntime = wardenStats.TotalDowntime,
                TotalIterations = wardenStats.TotalResults,
                TotalValidIterations = wardenStats.TotalValidResults,
                TotalInvalidIterations = wardenStats.TotalInvalidResults
            };

            var watcherCheckResults = iterations.SelectMany(x => x.Results)
                .Select(x => x.WatcherCheckResult)
                .GroupBy(x => x.Watcher.Name, x => x)
                .ToList();

            stats.Watchers = (from watcherGroup in watcherCheckResults
                let watcher = watcherGroup.First().Watcher
                let watcherStats = _statsCalculator.Calculate(watcherGroup)
                select new WatcherStatsDto
                {
                    Name = watcher.Name,
                    Type = watcher.Type.ToString().ToLowerInvariant(),
                    TotalUptime = watcherStats.TotalUptime,
                    TotalDowntime = watcherStats.TotalDowntime,
                    TotalChecks = watcherStats.TotalResults,
                    TotalValidChecks = watcherStats.TotalValidResults,
                    TotalInvalidChecks = watcherStats.TotalInvalidResults,
                })
                .OrderBy(x => x.Type);

            return stats;
        }