/** * * * <pre> * The new [custom metric](/monitoring/custom-metrics) * descriptor. * </pre> * * <code>.google.api.MetricDescriptor metric_descriptor = 2;</code> */ public Builder mergeMetricDescriptor(com.google.api.MetricDescriptor value) { if (metricDescriptorBuilder_ == null) { if (metricDescriptor_ != null) { metricDescriptor_ = com.google.api.MetricDescriptor.newBuilder(metricDescriptor_) .mergeFrom(value) .buildPartial(); } else { metricDescriptor_ = value; } onChanged(); } else { metricDescriptorBuilder_.mergeFrom(value); } return this; } /**
if (metricDescriptor_ != null) { metricDescriptor_ = com.google.api.MetricDescriptor.newBuilder(metricDescriptor_) .mergeFrom(value) .buildPartial();
@Test @SuppressWarnings("all") public void createMetricDescriptorExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricService.addException(exception); try { ProjectName name = ProjectName.of("[PROJECT]"); MetricDescriptor metricDescriptor = MetricDescriptor.newBuilder().build(); client.createMetricDescriptor(name, metricDescriptor); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { // Expected exception } }
@Test @SuppressWarnings("all") public void listMetricDescriptorsTest() { String nextPageToken = ""; MetricDescriptor metricDescriptorsElement = MetricDescriptor.newBuilder().build(); List<MetricDescriptor> metricDescriptors = Arrays.asList(metricDescriptorsElement); ListMetricDescriptorsResponse expectedResponse = ListMetricDescriptorsResponse.newBuilder() .setNextPageToken(nextPageToken) .addAllMetricDescriptors(metricDescriptors) .build(); mockMetricService.addResponse(expectedResponse); ProjectName name = ProjectName.of("[PROJECT]"); ListMetricDescriptorsPagedResponse pagedListResponse = client.listMetricDescriptors(name); List<MetricDescriptor> resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); Assert.assertEquals(expectedResponse.getMetricDescriptorsList().get(0), resources.get(0)); List<GeneratedMessageV3> actualRequests = mockMetricService.getRequests(); Assert.assertEquals(1, actualRequests.size()); ListMetricDescriptorsRequest actualRequest = (ListMetricDescriptorsRequest) actualRequests.get(0); Assert.assertEquals(name, ProjectName.parse(actualRequest.getName())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
String displayName = "displayName1615086568"; MetricDescriptor expectedResponse = MetricDescriptor.newBuilder() .setName(name2) .setType(type) MetricDescriptor metricDescriptor = MetricDescriptor.newBuilder().build();
@Test @SuppressWarnings("all") public void getMetricDescriptorTest() { String name2 = "name2-1052831874"; String type = "type3575610"; String unit = "unit3594628"; String description = "description-1724546052"; String displayName = "displayName1615086568"; MetricDescriptor expectedResponse = MetricDescriptor.newBuilder() .setName(name2) .setType(type) .setUnit(unit) .setDescription(description) .setDisplayName(displayName) .build(); mockMetricService.addResponse(expectedResponse); MetricDescriptorName name = MetricDescriptorName.of("[PROJECT]", "[METRIC_DESCRIPTOR]"); MetricDescriptor actualResponse = client.getMetricDescriptor(name); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockMetricService.getRequests(); Assert.assertEquals(1, actualRequests.size()); GetMetricDescriptorRequest actualRequest = (GetMetricDescriptorRequest) actualRequests.get(0); Assert.assertEquals(name, MetricDescriptorName.parse(actualRequest.getName())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {
/** * Creates a metric descriptor. * <p> * See: https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors/create * * @param type The metric type */ void createMetricDescriptor(String type) throws IOException { // [START monitoring_create_metric] // Your Google Cloud Platform project ID String projectId = System.getProperty("projectId"); String metricType = CUSTOM_METRIC_DOMAIN + "/" + type; final MetricServiceClient client = MetricServiceClient.create(); ProjectName name = ProjectName.of(projectId); MetricDescriptor descriptor = MetricDescriptor.newBuilder() .setType(metricType) .setDescription("This is a simple example of a custom metric.") .setMetricKind(MetricDescriptor.MetricKind.GAUGE) .setValueType(MetricDescriptor.ValueType.DOUBLE) .build(); CreateMetricDescriptorRequest request = CreateMetricDescriptorRequest.newBuilder() .setName(name.toString()) .setMetricDescriptor(descriptor) .build(); client.createMetricDescriptor(request); // [END monitoring_create_metric] }
/** * <pre> * The new [custom metric](/monitoring/custom-metrics) * descriptor. * </pre> * * <code>optional .google.api.MetricDescriptor metric_descriptor = 2;</code> */ public Builder mergeMetricDescriptor(com.google.api.MetricDescriptor value) { if (metricDescriptorBuilder_ == null) { if (metricDescriptor_ != null) { metricDescriptor_ = com.google.api.MetricDescriptor.newBuilder(metricDescriptor_).mergeFrom(value).buildPartial(); } else { metricDescriptor_ = value; } onChanged(); } else { metricDescriptorBuilder_.mergeFrom(value); } return this; } /**
private void createMetricDescriptorIfNecessary(MetricServiceClient client, Meter.Id id, MetricDescriptor.ValueType valueType, @Nullable String statistic) { if (!verifiedDescriptors.contains(id.getName())) { MetricDescriptor descriptor = MetricDescriptor.newBuilder() .setType(metricType(id, statistic)) .setDescription(id.getDescription() == null ? "" : id.getDescription()) .setMetricKind(MetricDescriptor.MetricKind.GAUGE) .setValueType(valueType) .build(); ProjectName name = ProjectName.of(config.projectId()); CreateMetricDescriptorRequest request = CreateMetricDescriptorRequest.newBuilder() .setName(name.toString()) .setMetricDescriptor(descriptor) .build(); if (logger.isTraceEnabled()) { logger.trace("creating metric descriptor:\n{}", request); } try { client.createMetricDescriptor(request); verifiedDescriptors.add(id.getName()); } catch (ApiException e) { logger.warn("failed to create metric descriptor in stackdriver for meter " + id + " {}", e.getCause().getMessage()); } } }
static MetricDescriptor createMetricDescriptor( io.opencensus.metrics.export.MetricDescriptor metricDescriptor, String projectId, String domain, String displayNamePrefix) { MetricDescriptor.Builder builder = MetricDescriptor.newBuilder(); String type = generateType(metricDescriptor.getName(), domain); // Name format refers to // cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors/create builder.setName("projects/" + projectId + "/metricDescriptors/" + type); builder.setType(type); builder.setDescription(metricDescriptor.getDescription()); builder.setDisplayName(createDisplayName(metricDescriptor.getName(), displayNamePrefix)); for (LabelKey labelKey : metricDescriptor.getLabelKeys()) { builder.addLabels(createLabelDescriptor(labelKey)); } builder.addLabels( LabelDescriptor.newBuilder() .setKey(OPENCENSUS_TASK) .setDescription(OPENCENSUS_TASK_DESCRIPTION) .setValueType(ValueType.STRING) .build()); builder.setUnit(metricDescriptor.getUnit()); builder.setMetricKind(createMetricKind(metricDescriptor.getType())); builder.setValueType(createValueType(metricDescriptor.getType())); return builder.build(); }