public IActionResult GetMetricsByPercentileFromAgent( [FromRoute] int agentId, [FromRoute] DateTimeOffset fromTime, [FromRoute] DateTimeOffset toTime, [FromRoute] int percentile) { _logger.LogInformation($"GetMetricsByPercentileFromAgent:{agentId} from:{fromTime} to:{toTime} int:{percentile}"); var metrics = _repository.GetByTimePeriodSorted(agentId, fromTime, toTime); var response = new DotNetMetricsResponse() { Metrics = new List <DotNetMetricDto>() }; foreach (var metric in metrics) { response.Metrics.Add(_mapper.Map <DotNetMetricDto>(metric)); } int[] values = new int[response.Metrics.Count()]; for (int i = 0; i < response.Metrics.Count(); i++) { values[i] = response.Metrics[i].Value; } return(Ok(PercentileCounter.GetPercentile(values, percentile))); }
public IActionResult GetMetricsByTimePeriod([FromRoute] DotNetMetricGetByTimePeriodRequest request) { logger.LogInformation($"From={request.From}|To={request.To}"); var requestDAL = mapper.Map <DAL.Requests.DotNetMetricGetByTimePeriodRequest>(request); var metrics = repository.GetByTimePeriod(requestDAL); var response = new DotNetMetricsResponse(); response.Metrics = metrics.Select(metric => mapper.Map <DotNetMetricDto>(metric)).ToList(); return(Ok(response)); }
public IActionResult GetMetricsFromAgent( [FromRoute] int agentId, [FromRoute] DateTimeOffset fromTime, [FromRoute] DateTimeOffset toTime) { var metrics = _repository.GetByTimePeriod(agentId, fromTime, toTime); var response = new DotNetMetricsResponse() { Metrics = new List <DotNetMetricDto>() }; foreach (var metric in metrics) { response.Metrics.Add(_mapper.Map <DotNetMetricDto>(metric)); } return(Ok(metrics)); }
public IActionResult GetMetrics( [FromRoute] DateTimeOffset fromTime, [FromRoute] DateTimeOffset toTime) { _logger.LogInformation($"GetMetrics from:{fromTime} to:{toTime}"); var metrics = _repository.GetByTimePeriod(fromTime, toTime); var response = new DotNetMetricsResponse() { Metrics = new List <DotNetMetricDto>() }; foreach (var metric in metrics) { response.Metrics.Add(_mapper.Map <DotNetMetricDto>(metric)); } return(Ok(response)); }
public IActionResult GetLastMetric() { _logger.LogInformation($"GetLastMetric"); int metricsInterval = _configuration.GetValue <int>("GetMetricsInterval"); metricsInterval = metricsInterval + metricsInterval / 2; TimeSpan timeShift = new TimeSpan(0, 0, metricsInterval); DateTimeOffset timeNow = DateTimeOffset.Now; var metrics = _repository.GetByTimePeriod(timeNow - timeShift, timeNow); var response = new DotNetMetricsResponse() { Metrics = new List <DotNetMetricDto>() }; foreach (var metric in metrics) { response.Metrics.Add(_mapper.Map <DotNetMetricDto>(metric)); } return(Ok(response)); }