public IActionResult GetMetricsAgentFromAgent([FromRoute] int agentId, [FromRoute] DateTimeOffset fromTime, [FromRoute] DateTimeOffset toTime) { _logger.LogInformation($"starting new request to metrics agent"); var metrics = _metricsAgentClient.GetAllDotNetMetrics(new GetAllDotNetMetricsApiRequest { ClientBaseAddress = _uriAdress.GetUri(agentId), FromTime = fromTime, ToTime = toTime }); if (metrics != null) { foreach (var item in metrics.Metrics) { _repository.Create(new DotNetMetrics { AgentId = agentId, Time = item.Time, Value = item.Value }); } ; } return(Ok(metrics)); }
public Task Execute(IJobExecutionContext context) { var adress = new AdressAgentFormTable(); List <AgentInfo> uriAdress = adress.GetAllAdress(); foreach (var adressAgent in uriAdress) { var fromTimeTable = new LastDate(); var fromTimeFromTable = fromTimeTable.GetTimeFromTable("dotnetmetrics", adressAgent.AgentId); AllDotNetMetricsApiResponse dotNetMetrics = null; if (fromTimeFromTable == null) { DateTimeOffset fromTime = DateTimeOffset.UnixEpoch; DateTimeOffset toTime = DateTimeOffset.UtcNow; dotNetMetrics = _metricsAgent.GetAllDotNetMetrics(new Requests.GetAllDotNetMetricsApiRequest { ClientBaseAddress = new Uri(adressAgent.AgentAddress), ToTime = toTime, FromTime = fromTime }); } else { DateTimeOffset toTime = DateTimeOffset.UtcNow; dotNetMetrics = _metricsAgent.GetAllDotNetMetrics(new Requests.GetAllDotNetMetricsApiRequest { ClientBaseAddress = new Uri(adressAgent.AgentAddress), ToTime = toTime, FromTime = fromTimeFromTable }); } if (dotNetMetrics != null) { foreach (var item in dotNetMetrics.Metrics) { _repository.Create(new DotNetMetrics { AgentId = adressAgent.AgentId, Time = item.Time, Value = item.Value }); } } } return(Task.CompletedTask); }