Вот код, который я использовал, чтобы получить доступные MetricNames для облачного сервиса. Это было частью единого тестового проекта, следовательно, атрибут [TestMethod].
[TestMethod]
public async Task GetMetricDefinitions()
{
// Build the resource ID string.
string resourceId = ResourceIdBuilder.BuildCloudServiceResourceId(
cloudServiceName, deploymentName, roleName);
Console.WriteLine("Resource Id: {0}", resourceId);
//Get the metric definitions.
var retrieveMetricsTask =
metricsClient.MetricDefinitions.ListAsync(resourceId, null, null, CancellationToken.None);
var metricListResponse = await retrieveMetricsTask;
MetricDefinitionCollection metricDefinitions = metricListResponse.MetricDefinitionCollection;
// Make sure something was returned.
Assert.IsTrue(metricDefinitions.Value.Count > 0);
// Display the metric definitions.
int count = 0;
foreach (MetricDefinition metricDefinition in metricDefinitions.Value)
{
Console.WriteLine("MetricDefinitio: " + count++);
Console.WriteLine("Display Name: " + metricDefinition.DisplayName);
Console.WriteLine("Metric Name: " + metricDefinition.Name);
Console.WriteLine("Metric Namespace: " + metricDefinition.Namespace);
Console.WriteLine("Is Altertable: " + metricDefinition.IsAlertable);
Console.WriteLine("Min. Altertable Time Window: " + metricDefinition.MinimumAlertableTimeWindow);
Console.WriteLine();
}
}
Вот результат теста для моей облачной службы:
Яков, спасибо за чтение моего блога. :) Я собирался вставить код, который я использовал для получения MetricName. Однако сейчас это не работает. Я обновил библиотеки и все еще не увенчался успехом. Я посмотрю на это больше, чтобы узнать, смогу ли я заставить его работать и затем отправить ответ. –
Просто попробовал это снова, и это сработало. Раньше была проблема с Azure. Я отправляю ответ в ближайшее время ... –