public async Task QueryMetrics() { #region Snippet:QueryMetrics #if SNIPPET string resourceId = "/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/<resource_provider>/<resource>"; #else string resourceId = TestEnvironment.MetricsResource; #endif #region Snippet:CreateMetricsClient var metricsClient = new MetricsQueryClient(new DefaultAzureCredential()); #endregion Response <MetricsQueryResult> results = await metricsClient.QueryResourceAsync( resourceId, new[] { "Microsoft.OperationalInsights/workspaces" } ); foreach (var metric in results.Value.Metrics) { Console.WriteLine(metric.Name); foreach (var element in metric.TimeSeries) { Console.WriteLine("Dimensions: " + string.Join(",", element.Metadata)); foreach (var metricValue in element.Values) { Console.WriteLine(metricValue); } } } #endregion }
public async Task UsesDefaultEndpoint() { var mockTransport = MockTransport.FromMessageCallback(_ => new MockResponse(200).SetContent("{}")); var client = new MetricsQueryClient(new MockCredential(), new MetricsQueryClientOptions() { Transport = mockTransport }); await client.QueryResourceAsync("rid", new string[] {}); StringAssert.StartsWith("https://management.azure.com", mockTransport.SingleRequest.Uri.ToString()); }
public async Task CanGetMetricByNameInvalid() { MetricsQueryClient client = CreateClient(); Response <MetricsQueryResult> results = await client.QueryResourceAsync( TestEnvironment.MetricsResource, new[] { _testData.MetricName }, new MetricsQueryOptions { MetricNamespace = _testData.MetricNamespace, TimeRange = new QueryTimeRange(_testData.StartTime, _testData.EndTime), Aggregations = { MetricAggregationType.Count } }); Assert.Throws <KeyNotFoundException>(() => { results.Value.GetMetricByName("Guinness"); }); }
public async Task CanGetMetricByNameNull() { MetricsQueryClient client = CreateClient(); Response <MetricsQueryResult> results = await client.QueryResourceAsync( TestEnvironment.MetricsResource, new[] { _testData.MetricName }, new MetricsQueryOptions { MetricNamespace = _testData.MetricNamespace, TimeRange = new QueryTimeRange(_testData.StartTime, _testData.EndTime), Filter = $"Name eq '{_testData.Name1}'", Aggregations = { MetricAggregationType.Count } }); Assert.Throws <ArgumentNullException>(() => { results.Value.GetMetricByName(null); }); }
public async Task CanGetMetricByName() { MetricsQueryClient client = CreateClient(); Response <MetricsQueryResult> results = await client.QueryResourceAsync( TestEnvironment.MetricsResource, new[] { _testData.MetricName }, new MetricsQueryOptions { MetricNamespace = _testData.MetricNamespace, TimeRange = new QueryTimeRange(_testData.StartTime, _testData.EndTime), Aggregations = { MetricAggregationType.Count } }); var result = results.Value.GetMetricByName(_testData.MetricName); Assert.AreEqual(result.Name, _testData.MetricName); }
public override async Task RunAsync(CancellationToken cancellationToken) { await MetricsQueryClient.QueryResourceAsync(TestEnvironment.MetricsResource, _metrics, cancellationToken : cancellationToken); }