//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 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); }
//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 }); }