Beispiel #1
0
        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
        }
Beispiel #2
0
        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);
        }
Beispiel #6
0
 public override async Task RunAsync(CancellationToken cancellationToken)
 {
     await MetricsQueryClient.QueryResourceAsync(TestEnvironment.MetricsResource, _metrics, cancellationToken : cancellationToken);
 }