private async Task<IEnumerable<UsageObject>> GetUsageForSubscription(DataAccess.AzureSubscription subscription) { var azureUsageService = new AzureUsageClient(subscription.GetMetricsConfig()); var websiteUsage = azureUsageService.GetWebsitesUsage(); var cloudServiceUsage = azureUsageService.GetCloudServiceUsages(); return (await websiteUsage).Concat(await cloudServiceUsage); }
private async Task <ChartData> GetWebsiteUsages(string webspace, string websiteName, Func <string, string> formatSeries, string charttitle, TimeSpan interval, params string[] filters) { var usageClient = new AzureUsageClient(GetCredentials()); var usages = await usageClient.GetWebsitesUsageForWebsite(webspace, websiteName, interval, filters); return(new ChartData { Name = charttitle + " (website)", Series = usages.GroupBy(_ => _.GraphiteCounterName).Select(_ => new SeriesData { Name = formatSeries(_.Key), DataPoints = _.Select(dp => new DataPoint { Timestamp = dp.Timestamp, Value = dp.Value }).ToList() } ).ToList() }); }
private async Task<ChartData> GetWebsiteUsages(string webspace,string websiteName,Func<string,string> formatSeries,string charttitle, TimeSpan interval,params string[] filters) { var usageClient = new AzureUsageClient(GetCredentials()); var usages = await usageClient.GetWebsitesUsageForWebsite(webspace,websiteName,interval,filters); return new ChartData { Name = charttitle + " (website)", Series = usages.GroupBy(_ => _.GraphiteCounterName).Select(_ => new SeriesData { Name = formatSeries(_.Key), DataPoints = _.Select(dp => new DataPoint { Timestamp = dp.Timestamp,Value = dp.Value }).ToList() } ).ToList() }; }