Example #1
0
        public IActionResult GetMetricsFromAllCluster(
            [FromRoute] DateTimeOffset fromTime,
            [FromRoute] DateTimeOffset toTime)
        {
            var metrics  = _repository.GetByPeriod(fromTime, toTime);
            var response = new AllCpuMetricsFromAgentResponse()
            {
                Metrics = new List <CpuMetricManagerDto>()
            };

            foreach (var metric in metrics)
            {
                response.Metrics.Add(_mapper.Map <CpuMetricManagerDto>(metric));
            }

            _logger.LogInformation($"Запрос метрик Cpu за период с {fromTime} по {toTime} для кластера");

            return(Ok(response));
        }
Example #2
0
        public IActionResult GetMetricsByPercentileFromAllCluster(
            [FromRoute] DateTimeOffset fromTime,
            [FromRoute] DateTimeOffset toTime,
            [FromRoute] Percentile percentile)
        {
            var metrics = _repository.GetByPeriodWithSorting(fromTime, toTime, "value");

            var percentileMetric = metrics.Cast <CpuMetricModel>().SingleOrDefault(i => i.Value == PercentileCalculator.Calculate(GetListValuesFromMetrics(metrics), (double)percentile / 100.0));

            var response = new AllCpuMetricsFromAgentResponse()
            {
                Metrics = new List <CpuMetricManagerDto>()
            };

            response.Metrics.Add(_mapper.Map <CpuMetricManagerDto>(percentileMetric));

            _logger.LogInformation($"Запрос персентиля = {percentile} метрик Cpu за период с {fromTime} по {toTime} для кластера");

            return(Ok(response));
        }