// [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(); }
/// <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); }