public async Task <IList <TRe> > GetMetricsByPeriod <TRl, TRe>(GetMetricsByPeriodRequest request) where TRl : IListMetricsResponse <TRe> where TRe : class { // _logger.LogInformation("Запрос данных клиентом", request); var _ = $"{request.ApiHost}/api/{request.ApiMethod}/from/{request.FromTime}/to/{request.ToTime}"; var uri = new Uri($"{request.ApiHost}/api/{request.ApiMethod}/from/{request.FromTime:u}/to/{request.ToTime:u}"); var response = await _client.GetFromJsonAsync <TRl>(uri); // _logger.LogInformation("Ответ клиента", response); return(response.Metrics); }
/// <summary> /// Получение метрик от агента /// </summary> /// <param name="agent">агент</param> /// <param name="fromTime">начало период запращиваемых метрик</param> /// <param name="toTime">конец периода запращиваемых метрик</param> /// <returns>Список метрик</returns> private async Task <IList <HddSpaceMetricResponse> > GetMetricsByPeriod(AgentInfo agent, DateTimeOffset fromTime, DateTimeOffset toTime) { var request = new GetMetricsByPeriodRequest { ApiHost = agent.Host, FromTime = fromTime, ToTime = toTime, ApiMethod = _apiMethod, }; return(await _metricsClient.GetMetricsByPeriod <ListHddSpaceMetricsResponse, HddSpaceMetricResponse>(request) .ConfigureAwait(false)); }