public IActionResult GetAgentsList() { var metrics = _repository.GetAgentsList(); var response = new AgentResponse() { Metrics = new List <AgentInfoDto>() }; foreach (var metric in metrics) { response.Metrics.Add(_mapper.Map <AgentInfoDto>(metric)); } return(Ok(response)); }
public Task Execute(IJobExecutionContext context) { try { var agents = _agentsRepository.GetAgentsList(); for (int i = 0; i < agents.Count(); i++) { if (agents[i].Enabled) { int agentId = i + 1; var lastTime = _repository.GetLastTime(agentId); DateTimeOffset fromTime = DateTimeOffset.FromUnixTimeSeconds(lastTime); var metrics = _client.GetCpuMetrics(new GetAllCpuMetricsApiRequest() { AgentAddress = agents[i].AgentAddress, FromTime = fromTime, ToTime = DateTimeOffset.Now }); if (metrics != null) { _logger.LogInformation(@"metrics: {0}", metrics.Metrics.Count()); foreach (var metric in metrics.Metrics) { _repository.Create(new CpuMetric() { AgentId = agentId, Time = metric.Time.ToUnixTimeSeconds(), Value = metric.Value }); } } } } } catch (Exception ex) { _logger.LogError(ex.Message); } return(Task.CompletedTask); }