Example #1
0
        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)));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }