//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
			};
		}
Ejemplo n.º 2
0
        private async Task <ICollection <UsageObject> > GetMetricsApiUsage(TimeSpan history)
        {
            var metrics = await _azureMetricsApiClient.GetMetricsForWebsite(_websiteId, history);

            var res = new List <UsageObject>();

            foreach (var metric in metrics)
            {
                foreach (var result in metric.MetricValues.OrderBy(_ => _.Timestamp))
                {
                    res.Add(new UsageObject {
                        GraphiteCounterName = _websiteId.BuildGraphiteCounterName(WebsiteMetricsDataSource.MetricsApi, metric.Name, metric.Unit).ToString(),
                        Value     = result.Average.Value,
                        Timestamp = result.Timestamp.ToString("o")
                    });
                }
            }
            return(res);
        }
Ejemplo n.º 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
            });
        }