Example #1
0
        // [START monitoring_create_metric]
        public static object CreateMetric(string projectId,
                                          string metricType = "custom.googleapis.com/stores/daily_sales")
        {
            // Create client.
            MetricServiceClient metricServiceClient = MetricServiceClient.Create();

            // Prepare custom metric descriptor.
            MetricDescriptor metricDescriptor = new MetricDescriptor();

            metricDescriptor.DisplayName = "Daily Sales";
            metricDescriptor.Description = "Daily sales records from all branch stores.";
            metricDescriptor.MetricKind  = MetricKind.Gauge;
            metricDescriptor.ValueType   = MetricDescriptor.Types.ValueType.Double;
            metricDescriptor.Type        = metricType;
            metricDescriptor.Unit        = "{USD}";
            LabelDescriptor labels = new LabelDescriptor();

            labels.Key         = "store_id";
            labels.ValueType   = LabelDescriptor.Types.ValueType.String;
            labels.Description = "The ID of the store.";
            metricDescriptor.Labels.Add(labels);
            CreateMetricDescriptorRequest request = new CreateMetricDescriptorRequest
            {
                ProjectName = new ProjectName(projectId),
            };

            request.MetricDescriptor = metricDescriptor;
            // Make the request.
            MetricDescriptor response = metricServiceClient.CreateMetricDescriptor(request);

            Console.WriteLine("Done creating metric descriptor:");
            Console.WriteLine(JObject.Parse($"{response}").ToString());
            return(0);
        }
        public async Task CreateMetricDescriptorAsync2()
        {
            Mock <MetricService.MetricServiceClient> mockGrpcClient = new Mock <MetricService.MetricServiceClient>(MockBehavior.Strict);
            CreateMetricDescriptorRequest            request        = new CreateMetricDescriptorRequest
            {
                ProjectName      = new ProjectName("[PROJECT]"),
                MetricDescriptor = new MetricDescriptor(),
            };
            MetricDescriptor expectedResponse = new MetricDescriptor
            {
                Name        = "name2-1052831874",
                Type        = "type3575610",
                Unit        = "unit3594628",
                Description = "description-1724546052",
                DisplayName = "displayName1615086568",
            };

            mockGrpcClient.Setup(x => x.CreateMetricDescriptorAsync(request, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <MetricDescriptor>(Task.FromResult(expectedResponse), null, null, null, null));
            MetricServiceClient client   = new MetricServiceClientImpl(mockGrpcClient.Object, null);
            MetricDescriptor    response = await client.CreateMetricDescriptorAsync(request);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
        public void CreateMetricDescriptor()
        {
            Mock <MetricService.MetricServiceClient> mockGrpcClient  = new Mock <MetricService.MetricServiceClient>(MockBehavior.Strict);
            CreateMetricDescriptorRequest            expectedRequest = new CreateMetricDescriptorRequest
            {
                ProjectName      = new ProjectName("[PROJECT]"),
                MetricDescriptor = new MetricDescriptor(),
            };
            MetricDescriptor expectedResponse = new MetricDescriptor
            {
                Name        = "name2-1052831874",
                Type        = "type3575610",
                Unit        = "unit3594628",
                Description = "description-1724546052",
                DisplayName = "displayName1615086568",
            };

            mockGrpcClient.Setup(x => x.CreateMetricDescriptor(expectedRequest, It.IsAny <CallOptions>()))
            .Returns(expectedResponse);
            MetricServiceClient client           = new MetricServiceClientImpl(mockGrpcClient.Object, null);
            ProjectName         name             = new ProjectName("[PROJECT]");
            MetricDescriptor    metricDescriptor = new MetricDescriptor();
            MetricDescriptor    response         = client.CreateMetricDescriptor(name, metricDescriptor);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Example #4
0
 /// <summary>Snippet for CreateMetricDescriptor</summary>
 public void CreateMetricDescriptor_RequestObject()
 {
     // Snippet: CreateMetricDescriptor(CreateMetricDescriptorRequest,CallSettings)
     // Create client
     MetricServiceClient metricServiceClient = MetricServiceClient.Create();
     // Initialize request argument(s)
     CreateMetricDescriptorRequest request = new CreateMetricDescriptorRequest
     {
         ProjectName      = new ProjectName("[PROJECT]"),
         MetricDescriptor = new MetricDescriptor(),
     };
     // Make the request
     MetricDescriptor response = metricServiceClient.CreateMetricDescriptor(request);
     // End snippet
 }
        /// <summary>Snippet for CreateMetricDescriptorAsync</summary>
        public async Task CreateMetricDescriptorAsync_RequestObject()
        {
            // Snippet: CreateMetricDescriptorAsync(CreateMetricDescriptorRequest,CallSettings)
            // Additional: CreateMetricDescriptorAsync(CreateMetricDescriptorRequest,CancellationToken)
            // Create client
            MetricServiceClient metricServiceClient = await MetricServiceClient.CreateAsync();

            // Initialize request argument(s)
            CreateMetricDescriptorRequest request = new CreateMetricDescriptorRequest
            {
                ProjectName      = new ProjectName("[PROJECT]"),
                MetricDescriptor = new MetricDescriptor(),
            };
            // Make the request
            MetricDescriptor response = await metricServiceClient.CreateMetricDescriptorAsync(request);

            // End snippet
        }
        private bool EnsureMetricDescriptorExists(MetricDescriptor metricDescriptor)
        {
            try
            {
                var request = new CreateMetricDescriptorRequest();
                request.ProjectName      = project;
                request.MetricDescriptor = metricDescriptor;
                metricServiceClient.CreateMetricDescriptor(request);
            }
            catch (RpcException e)
            {
                // Metric already exists
                if (e.StatusCode == StatusCode.AlreadyExists)
                {
                    return(true);
                }

                return(false);
            }

            return(true);
        }