internal async Task<ICollection<UsageObject>> GetUsageCollectionForWebsite(AzureWebsiteId websiteId, TimeSpan history, MetricsFilter filter) {
			var metrics = await _metricsApiClient.GetMetricsForWebsite(websiteId, history,filter);
			var res = new List<UsageObject>();
			foreach(var metric in metrics) {
				foreach(var result in metric.MetricValues.OrderBy(_=>_.Timestamp)) {
					res.Add(new UsageObject {
						GraphiteCounterName =metric.Name  + "." +metric.Unit,
						Value = result.Average.Value,
						Timestamp = result.Timestamp.ToString("o")
					});
				}
			}

			return res;
		}
		//Azure.WebSites.<websitename>.<slot>.WebsiteApi.<metricname>.<unit>
		//Azure.WebSites.<websitename>.<slot>.WebsiteApi.<metricname>.Percentage

		private IEnumerable<UsageObject> FromWebsiteUsageObjectEnumerable(AzureWebsiteId website) {
			yield return new UsageObject() {
				GraphiteCounterName = website.BuildGraphiteCounterName(WebsiteMetricsDataSource.WebsitesApi,Name,Unit).ToString(),
				Timestamp = DateTime.UtcNow.ToString("o"),
				Value = CurrentValue
			};

			if(Limit <= 0) {
				yield break;
			}

			yield return new UsageObject() {
				GraphiteCounterName = website.BuildGraphiteCounterNamePercentage(WebsiteMetricsDataSource.WebsitesApi,Name).ToString(),
				Timestamp = DateTime.UtcNow.ToString("o"),
				Value = CurrentValue * 100 / Limit
			};
		}
Example #3
0
        //Azure.WebSites.<websitename>.<slot>.WebsiteApi.<metricname>.<unit>
        //Azure.WebSites.<websitename>.<slot>.WebsiteApi.<metricname>.Percentage

        private IEnumerable <UsageObject> FromWebsiteUsageObjectEnumerable(AzureWebsiteId website)
        {
            yield return(new UsageObject()
            {
                GraphiteCounterName = website.BuildGraphiteCounterName(WebsiteMetricsDataSource.WebsitesApi, Name, Unit).ToString(),
                Timestamp = DateTime.UtcNow.ToString("o"),
                Value = CurrentValue
            });

            if (Limit <= 0)
            {
                yield break;
            }

            yield return(new UsageObject()
            {
                GraphiteCounterName = website.BuildGraphiteCounterNamePercentage(WebsiteMetricsDataSource.WebsitesApi, Name).ToString(),
                Timestamp = DateTime.UtcNow.ToString("o"),
                Value = CurrentValue * 100 / Limit
            });
        }
		private Uri GetWebsiteUri(AzureWebsiteId azureWebsiteId) {
			return new Uri(string.Format("wadgraphes://subscription/{0}/websites/{1}/{2}", _subscriptionId, azureWebsiteId.Webspace, azureWebsiteId.Name));
		}
        internal async Task <ICollection <UsageObject> > GetUsageCollectionForWebsite(AzureWebsiteId websiteId, TimeSpan history, MetricsFilter filter)
        {
            var metrics = await _metricsApiClient.GetMetricsForWebsite(websiteId, history, filter);

            var res = new List <UsageObject>();

            foreach (var metric in metrics)
            {
                foreach (var result in metric.MetricValues.OrderBy(_ => _.Timestamp))
                {
                    res.Add(new UsageObject {
                        GraphiteCounterName = metric.Name + "." + metric.Unit,
                        Value     = result.Average.Value,
                        Timestamp = result.Timestamp.ToString("o")
                    });
                }
            }

            return(res);
        }
Example #6
0
 internal async System.Threading.Tasks.Task <ICollection <WebsiteApiMetricsData> > GetWebsiteUsage(AzureWebsiteId websiteId)
 {
     return(await _client.DoWebsiteWebServiceCall <WebsiteApiMetricsData[]>(websiteId.ResourceId + "/usages"));
 }
Example #7
0
 public AzureWebsiteUsage(AzureWebsiteId websiteId, AzureMetricsApiClient metricsApiClient, AzureWebsitesMetricsApiClient azureWebsitesMetricsClient)
 {
     _websiteId             = websiteId;
     _azureMetricsApiClient = metricsApiClient;
     _websitesMetricsClient = azureWebsitesMetricsClient;
 }
		internal async System.Threading.Tasks.Task<ICollection<MetricValueSet>> GetMetricsForWebsite(AzureWebsiteId websiteId, TimeSpan history,MetricsFilter filter) {
			
			return await GetMetricsForResourceId(websiteId.ResourceId,history,filter);
		}
 internal System.Threading.Tasks.Task<ICollection<MetricValueSet>> GetMetricsForWebsite(AzureWebsiteId websiteId, TimeSpan history) {
     return GetMetricsForWebsite(websiteId,history,MetricsFilter.None);
 }
Example #10
0
 internal async System.Threading.Tasks.Task <ICollection <MetricValueSet> > GetMetricsForWebsite(AzureWebsiteId websiteId, TimeSpan history, MetricsFilter filter)
 {
     return(await GetMetricsForResourceId(websiteId.ResourceId, history, filter));
 }
 private Uri GetWebsiteUri(AzureWebsiteId azureWebsiteId)
 {
     return(new Uri(string.Format("wadgraphes://subscription/{0}/websites/{1}/{2}", _subscriptionId, azureWebsiteId.Webspace, azureWebsiteId.Name)));
 }
		internal ICollection<UsageObject> ToUsageObjects(AzureWebsiteId forWebsiteId) {
			return FromWebsiteUsageObjectEnumerable(forWebsiteId).ToList();
		}
		internal async System.Threading.Tasks.Task<ICollection<WebsiteApiMetricsData>> GetWebsiteUsage(AzureWebsiteId websiteId) {
			 return await _client.DoWebsiteWebServiceCall<WebsiteApiMetricsData[]>(websiteId.ResourceId + "/usages");
		}
		public Task<ICollection<UsageObject>> GetWebsitesUsageForWebsite(string webspace, string websiteName,TimeSpan history, params string[] filters) {
			var websiteId = new AzureWebsiteId(websiteName,webspace);
			return new AzureWebsitesUsageClient(_client,_credentials).GetUsageCollectionForWebsite(websiteId,history, MetricsFilter.FromRegexes(filters));

		}
Example #15
0
 internal ICollection <UsageObject> ToUsageObjects(AzureWebsiteId forWebsiteId)
 {
     return(FromWebsiteUsageObjectEnumerable(forWebsiteId).ToList());
 }
Example #16
0
        public Task <ICollection <UsageObject> > GetWebsitesUsageForWebsite(string webspace, string websiteName, TimeSpan history, params string[] filters)
        {
            var websiteId = new AzureWebsiteId(websiteName, webspace);

            return(new AzureWebsitesUsageClient(_client, _credentials).GetUsageCollectionForWebsite(websiteId, history, MetricsFilter.FromRegexes(filters)));
        }
		public AzureWebsiteUsage(AzureWebsiteId websiteId,AzureMetricsApiClient metricsApiClient,AzureWebsitesMetricsApiClient azureWebsitesMetricsClient) {
			_websiteId = websiteId;
			_azureMetricsApiClient =metricsApiClient;
			_websitesMetricsClient = azureWebsitesMetricsClient;
		}
Example #18
0
 internal System.Threading.Tasks.Task <ICollection <MetricValueSet> > GetMetricsForWebsite(AzureWebsiteId websiteId, TimeSpan history)
 {
     return(GetMetricsForWebsite(websiteId, history, MetricsFilter.None));
 }