public async Task GetMetricSeriesData() { var client = GetMetricsAdvisorClient(); var options = new GetMetricSeriesDataOptions( new List <DimensionKey>() { new DimensionKey(new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Dim1", "*"), new KeyValuePair <string, string>("Dim2", "*"), }) }, Recording.UtcNow.AddYears(-5), Recording.UtcNow); bool isResponseEmpty = true; await foreach (MetricSeriesData seriesData in client.GetMetricSeriesDataAsync(MetricId, options)) { isResponseEmpty = false; Assert.That(seriesData, Is.Not.Null); } Assert.That(isResponseEmpty, Is.False); }
public async Task GetMetricSeriesDataAsync() { string endpoint = MetricsAdvisorUri; string subscriptionKey = MetricsAdvisorSubscriptionKey; string apiKey = MetricsAdvisorApiKey; var credential = new MetricsAdvisorKeyCredential(subscriptionKey, apiKey); var client = new MetricsAdvisorClient(new Uri(endpoint), credential); string metricId = MetricId; var startsOn = DateTimeOffset.Parse("2020-01-01T00:00:00Z"); var endsOn = DateTimeOffset.UtcNow; var options = new GetMetricSeriesDataOptions(startsOn, endsOn); // Only the two time series with the keys specified below will be returned. var dimensions = new Dictionary <string, string>() { { "Dim1", "JPN" }, { "Dim2", "__SUM__" } }; var seriesKey1 = new DimensionKey(dimensions); dimensions = new Dictionary <string, string>() { { "Dim1", "USD" }, { "Dim2", "US" } }; var seriesKey2 = new DimensionKey(dimensions); options.SeriesKeys.Add(seriesKey1); options.SeriesKeys.Add(seriesKey2); await foreach (MetricSeriesData seriesData in client.GetMetricSeriesDataAsync(metricId, options)) { Console.WriteLine($"Time series metric ID: {seriesData.MetricId}"); Console.WriteLine("Time series key:"); foreach (KeyValuePair <string, string> keyValuePair in seriesData.SeriesKey) { Console.WriteLine($" Dimension '{keyValuePair.Key}': {keyValuePair.Value}"); } Console.WriteLine("Data points:"); // Print at most 3 points per time series. int totalPoints = seriesData.Timestamps.Count < 3 ? seriesData.Timestamps.Count : 3; for (int pointIndex = 0; pointIndex < totalPoints; pointIndex++) { Console.WriteLine($" Point {pointIndex}:"); Console.WriteLine($" - Timestamp: {seriesData.Timestamps[pointIndex]}"); Console.WriteLine($" - Metric value: {seriesData.MetricValues[pointIndex]}"); } Console.WriteLine(); } }
public async Task GetMetricSeriesDataAsync() { string endpoint = MetricsAdvisorUri; string subscriptionKey = MetricsAdvisorSubscriptionKey; string apiKey = MetricsAdvisorApiKey; var credential = new MetricsAdvisorKeyCredential(subscriptionKey, apiKey); var client = new MetricsAdvisorClient(new Uri(endpoint), credential); string metricId = MetricId; // Only the two time series with the keys specified below will be returned. var seriesKey1 = new DimensionKey(); seriesKey1.AddDimensionColumn("city", "Belo Horizonte"); seriesKey1.AddDimensionColumn("category", "__SUM__"); var seriesKey2 = new DimensionKey(); seriesKey2.AddDimensionColumn("city", "Hong Kong"); seriesKey2.AddDimensionColumn("category", "Industrial & Scientific"); var filter = new List <DimensionKey>() { seriesKey1, seriesKey2 }; var startTime = DateTimeOffset.Parse("2020-01-01T00:00:00Z"); var endTime = DateTimeOffset.UtcNow; var options = new GetMetricSeriesDataOptions(filter, startTime, endTime); await foreach (MetricSeriesData seriesData in client.GetMetricSeriesDataAsync(metricId, options)) { Console.WriteLine($"Time series metric ID: {seriesData.Definition.MetricId}"); Console.WriteLine("Time series key:"); foreach (KeyValuePair <string, string> keyValuePair in seriesData.Definition.SeriesKey.AsDictionary()) { Console.WriteLine($" Dimension '{keyValuePair.Key}': {keyValuePair.Value}"); } Console.WriteLine("Data points:"); // Print at most 3 points per time series. for (int pointIndex = 0; pointIndex < 3; pointIndex++) { Console.WriteLine($" Point {pointIndex}:"); Console.WriteLine($" - Timestamp: {seriesData.Timestamps[pointIndex]}"); Console.WriteLine($" - Value: {seriesData.Values[pointIndex]}"); } Console.WriteLine(); } }
public async Task GetMetricSeriesData() { MetricsAdvisorClient client = GetMetricsAdvisorClient(); var seriesKey1 = new DimensionKey(); seriesKey1.AddDimensionColumn("city", "Delhi"); seriesKey1.AddDimensionColumn("category", "Handmade"); var seriesKey2 = new DimensionKey(); seriesKey2.AddDimensionColumn("city", "Koltaka"); seriesKey2.AddDimensionColumn("category", "__SUM__"); var seriesKeys = new List <DimensionKey>() { seriesKey1, seriesKey2 }; var returnedKeys = new List <DimensionKey>(); var options = new GetMetricSeriesDataOptions(seriesKeys, SamplingStartTime, SamplingEndTime); await foreach (MetricSeriesData seriesData in client.GetMetricSeriesDataAsync(MetricId, options)) { Assert.That(seriesData, Is.Not.Null); Assert.That(seriesData.Definition, Is.Not.Null); Assert.That(seriesData.Definition.SeriesKey, Is.Not.Null); Assert.That(seriesData.Timestamps, Is.Not.Null); Assert.That(seriesData.Values, Is.Not.Null); Assert.That(seriesData.Definition.MetricId, Is.EqualTo(MetricId)); Assert.That(seriesData.Timestamps.Count, Is.EqualTo(seriesData.Values.Count)); foreach (DateTimeOffset timestamp in seriesData.Timestamps) { Assert.That(timestamp, Is.InRange(SamplingStartTime, SamplingEndTime)); } returnedKeys.Add(seriesData.Definition.SeriesKey); } IEnumerable <List <KeyValuePair <string, string> > > expectedKvps = seriesKeys.Select(key => key.AsDictionary().ToList()); IEnumerable <List <KeyValuePair <string, string> > > returnedKvps = returnedKeys.Select(key => key.AsDictionary().ToList()); Assert.That(returnedKvps, Is.EquivalentTo(expectedKvps)); }
public async Task GetMetricSeriesData(bool useTokenCredential) { MetricsAdvisorClient client = GetMetricsAdvisorClient(useTokenCredential); var seriesKey1 = new DimensionKey(); seriesKey1.AddDimensionColumn("city", "Delhi"); seriesKey1.AddDimensionColumn("category", "Handmade"); var seriesKey2 = new DimensionKey(); seriesKey2.AddDimensionColumn("city", "Koltaka"); seriesKey2.AddDimensionColumn("category", "__SUM__"); var returnedKeys = new List <DimensionKey>(); var options = new GetMetricSeriesDataOptions(SamplingStartTime, SamplingEndTime) { SeriesToFilter = { seriesKey1, seriesKey2 } }; await foreach (MetricSeriesData seriesData in client.GetMetricSeriesDataAsync(MetricId, options)) { Assert.That(seriesData, Is.Not.Null); Assert.That(seriesData.Definition, Is.Not.Null); Assert.That(seriesData.Definition.SeriesKey, Is.Not.Null); Assert.That(seriesData.Timestamps, Is.Not.Null); Assert.That(seriesData.MetricValues, Is.Not.Null); Assert.That(seriesData.Definition.MetricId, Is.EqualTo(MetricId)); Assert.That(seriesData.Timestamps.Count, Is.EqualTo(seriesData.MetricValues.Count)); foreach (DateTimeOffset timestamp in seriesData.Timestamps) { Assert.That(timestamp, Is.InRange(SamplingStartTime, SamplingEndTime)); } returnedKeys.Add(seriesData.Definition.SeriesKey); } Assert.That(returnedKeys.Count, Is.EqualTo(2)); Assert.That(returnedKeys.Contains(seriesKey1)); Assert.That(returnedKeys.Contains(seriesKey2)); }
public async Task GetMetricSeriesData(bool useTokenCredential) { MetricsAdvisorClient client = GetMetricsAdvisorClient(useTokenCredential); var dimensions = new Dictionary <string, string>() { { "city", "Delhi" }, { "category", "Handmade" } }; var seriesKey1 = new DimensionKey(dimensions); dimensions = new Dictionary <string, string>() { { "city", "Kolkata" }, { "category", "__SUM__" } }; var seriesKey2 = new DimensionKey(dimensions); var returnedKey1 = false; var returnedKey2 = false; var seriesDataCount = 0; var options = new GetMetricSeriesDataOptions(SamplingStartTime, SamplingEndTime) { SeriesKeys = { seriesKey1, seriesKey2 } }; await foreach (MetricSeriesData seriesData in client.GetMetricSeriesDataAsync(MetricId, options)) { Assert.That(seriesData, Is.Not.Null); Assert.That(seriesData.SeriesKey, Is.Not.Null); Assert.That(seriesData.Timestamps, Is.Not.Null); Assert.That(seriesData.MetricValues, Is.Not.Null); Assert.That(seriesData.MetricId, Is.EqualTo(MetricId)); Assert.That(seriesData.Timestamps.Count, Is.EqualTo(seriesData.MetricValues.Count)); foreach (DateTimeOffset timestamp in seriesData.Timestamps) { Assert.That(timestamp, Is.InRange(SamplingStartTime, SamplingEndTime)); } var seriesKey = seriesData.SeriesKey; Assert.That(seriesKey.TryGetValue("city", out string city)); Assert.That(seriesKey.TryGetValue("category", out string category)); if (city == "Delhi" && category == "Handmade") { returnedKey1 = true; } else if (city == "Kolkata" && category == "__SUM__") { returnedKey2 = true; } seriesDataCount++; } Assert.That(seriesDataCount, Is.EqualTo(2)); Assert.That(returnedKey1); Assert.That(returnedKey2); }