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)); }
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)); }