/** * * * <pre> * The set of labels that must be defined to identify a particular * channel of the corresponding type. Each label includes a * description for how that field should be populated. * </pre> * * <code>repeated .google.api.LabelDescriptor labels = 4;</code> */ public Builder addLabels(com.google.api.LabelDescriptor.Builder builderForValue) { if (labelsBuilder_ == null) { ensureLabelsIsMutable(); labels_.add(builderForValue.build()); onChanged(); } else { labelsBuilder_.addMessage(builderForValue.build()); } return this; } /**
/** * <pre> * The set of labels that can be used to describe a specific * instance of this metric type. For example, the * `appengine.googleapis.com/http/server/response_latencies` metric * type has a label for the HTTP response code, `response_code`, so * you can look at latencies for successful responses or just * for responses that failed. * </pre> * * <code>repeated .google.api.LabelDescriptor labels = 2;</code> */ public Builder addLabels( int index, com.google.api.LabelDescriptor.Builder builderForValue) { if (labelsBuilder_ == null) { ensureLabelsIsMutable(); labels_.add(index, builderForValue.build()); onChanged(); } else { labelsBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
@Test public void createMetricDescriptor() { MetricDescriptor metricDescriptor = StackdriverExportUtils.createMetricDescriptor( METRIC_DESCRIPTOR, PROJECT_ID, "custom.googleapis.com/myorg/", "myorg/"); assertThat(metricDescriptor.getName()) .isEqualTo( "projects/" + PROJECT_ID + "/metricDescriptors/custom.googleapis.com/myorg/" + METRIC_NAME); assertThat(metricDescriptor.getDescription()).isEqualTo(METRIC_DESCRIPTION); assertThat(metricDescriptor.getDisplayName()).isEqualTo("myorg/" + METRIC_NAME); assertThat(metricDescriptor.getType()).isEqualTo("custom.googleapis.com/myorg/" + METRIC_NAME); assertThat(metricDescriptor.getUnit()).isEqualTo(METRIC_UNIT); assertThat(metricDescriptor.getMetricKind()).isEqualTo(MetricKind.CUMULATIVE); assertThat(metricDescriptor.getValueType()).isEqualTo(MetricDescriptor.ValueType.DOUBLE); assertThat(metricDescriptor.getLabelsList()) .containsExactly( LabelDescriptor.newBuilder() .setKey(LABEL_KEY.get(0).getKey()) .setDescription(LABEL_KEY.get(0).getDescription()) .setValueType(ValueType.STRING) .build(), LabelDescriptor.newBuilder() .setKey(StackdriverExportUtils.OPENCENSUS_TASK) .setDescription(StackdriverExportUtils.OPENCENSUS_TASK_DESCRIPTION) .setValueType(ValueType.STRING) .build()); }
/** * <pre> * The set of labels that are available to describe a specific log entry. * Runtime requests that contain labels not specified here are * considered invalid. * </pre> * * <code>repeated .google.api.LabelDescriptor labels = 2;</code> */ public Builder setLabels( int index, com.google.api.LabelDescriptor.Builder builderForValue) { if (labelsBuilder_ == null) { ensureLabelsIsMutable(); labels_.set(index, builderForValue.build()); onChanged(); } else { labelsBuilder_.setMessage(index, builderForValue.build()); } return this; } /**
/** * <pre> * The set of labels that can be used to describe a specific * instance of this metric type. For example, the * `appengine.googleapis.com/http/server/response_latencies` metric * type has a label for the HTTP response code, `response_code`, so * you can look at latencies for successful responses or just * for responses that failed. * </pre> * * <code>repeated .google.api.LabelDescriptor labels = 2;</code> */ public Builder addLabels( com.google.api.LabelDescriptor.Builder builderForValue) { if (labelsBuilder_ == null) { ensureLabelsIsMutable(); labels_.add(builderForValue.build()); onChanged(); } else { labelsBuilder_.addMessage(builderForValue.build()); } return this; } /**
/** * <pre> * The set of labels that can be used to describe a specific * instance of this metric type. For example, the * `appengine.googleapis.com/http/server/response_latencies` metric * type has a label for the HTTP response code, `response_code`, so * you can look at latencies for successful responses or just * for responses that failed. * </pre> * * <code>repeated .google.api.LabelDescriptor labels = 2;</code> */ public Builder setLabels( int index, com.google.api.LabelDescriptor.Builder builderForValue) { if (labelsBuilder_ == null) { ensureLabelsIsMutable(); labels_.set(index, builderForValue.build()); onChanged(); } else { labelsBuilder_.setMessage(index, builderForValue.build()); } return this; } /**
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(); }
@Test public void createMetricDescriptor_cumulative() { MetricDescriptor metricDescriptor = StackdriverExportUtils.createMetricDescriptor( METRIC_DESCRIPTOR_2, PROJECT_ID, CUSTOM_OPENCENSUS_DOMAIN, DEFAULT_DISPLAY_NAME_PREFIX); assertThat(metricDescriptor.getName()) .isEqualTo( "projects/" + PROJECT_ID + "/metricDescriptors/custom.googleapis.com/opencensus/" + METRIC_NAME); assertThat(metricDescriptor.getDescription()).isEqualTo(METRIC_DESCRIPTION); assertThat(metricDescriptor.getDisplayName()).isEqualTo("OpenCensus/" + METRIC_NAME); assertThat(metricDescriptor.getType()) .isEqualTo("custom.googleapis.com/opencensus/" + METRIC_NAME); assertThat(metricDescriptor.getUnit()).isEqualTo("1"); assertThat(metricDescriptor.getMetricKind()).isEqualTo(MetricKind.CUMULATIVE); assertThat(metricDescriptor.getValueType()).isEqualTo(MetricDescriptor.ValueType.INT64); assertThat(metricDescriptor.getLabelsList()) .containsExactly( LabelDescriptor.newBuilder() .setKey(StackdriverExportUtils.OPENCENSUS_TASK) .setDescription(StackdriverExportUtils.OPENCENSUS_TASK_DESCRIPTION) .setValueType(ValueType.STRING) .build()); }
/** * <pre> * The set of labels that are available to describe a specific log entry. * Runtime requests that contain labels not specified here are * considered invalid. * </pre> * * <code>repeated .google.api.LabelDescriptor labels = 2;</code> */ public Builder addLabels( com.google.api.LabelDescriptor.Builder builderForValue) { if (labelsBuilder_ == null) { ensureLabelsIsMutable(); labels_.add(builderForValue.build()); onChanged(); } else { labelsBuilder_.addMessage(builderForValue.build()); } return this; } /**
/** * <pre> * Required. A set of labels used to describe instances of this monitored * resource type. For example, an individual Google Cloud SQL database is * identified by values for the labels `"database_id"` and `"zone"`. * </pre> * * <code>repeated .google.api.LabelDescriptor labels = 4;</code> */ public Builder addLabels( com.google.api.LabelDescriptor.Builder builderForValue) { if (labelsBuilder_ == null) { ensureLabelsIsMutable(); labels_.add(builderForValue.build()); onChanged(); } else { labelsBuilder_.addMessage(builderForValue.build()); } return this; } /**
/** * <pre> * Required. A set of labels used to describe instances of this monitored * resource type. For example, an individual Google Cloud SQL database is * identified by values for the labels `"database_id"` and `"zone"`. * </pre> * * <code>repeated .google.api.LabelDescriptor labels = 4;</code> */ public Builder addLabels( int index, com.google.api.LabelDescriptor.Builder builderForValue) { if (labelsBuilder_ == null) { ensureLabelsIsMutable(); labels_.add(index, builderForValue.build()); onChanged(); } else { labelsBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
/** * <pre> * Required. A set of labels used to describe instances of this monitored * resource type. For example, an individual Google Cloud SQL database is * identified by values for the labels `"database_id"` and `"zone"`. * </pre> * * <code>repeated .google.api.LabelDescriptor labels = 4;</code> */ public Builder setLabels( int index, com.google.api.LabelDescriptor.Builder builderForValue) { if (labelsBuilder_ == null) { ensureLabelsIsMutable(); labels_.set(index, builderForValue.build()); onChanged(); } else { labelsBuilder_.setMessage(index, builderForValue.build()); } return this; } /**
/** * <pre> * The set of labels that are available to describe a specific log entry. * Runtime requests that contain labels not specified here are * considered invalid. * </pre> * * <code>repeated .google.api.LabelDescriptor labels = 2;</code> */ public Builder addLabels( int index, com.google.api.LabelDescriptor.Builder builderForValue) { if (labelsBuilder_ == null) { ensureLabelsIsMutable(); labels_.add(index, builderForValue.build()); onChanged(); } else { labelsBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
com.google.api.LabelDescriptor toPb() { com.google.api.LabelDescriptor.Builder builder = com.google.api.LabelDescriptor.newBuilder().setKey(key).setValueType(valueType.toPb()); if (description != null) { builder.setDescription(description); } return builder.build(); }
@java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /**
public com.google.api.LabelDescriptor build() { com.google.api.LabelDescriptor result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; }
com.google.api.LabelDescriptor toPb() { com.google.api.LabelDescriptor.Builder builder = com.google.api.LabelDescriptor.newBuilder() .setKey(key) .setValueType(valueType.toPb()); if (description != null) { builder.setDescription(description); } return builder.build(); }
@VisibleForTesting static LabelDescriptor createLabelDescriptor(LabelKey labelKey) { LabelDescriptor.Builder builder = LabelDescriptor.newBuilder(); builder.setKey(labelKey.getKey()); builder.setDescription(labelKey.getDescription()); // Now we only support String tags builder.setValueType(ValueType.STRING); return builder.build(); }
@Test public void createLabelDescriptor() { assertThat(StackdriverExportUtils.createLabelDescriptor(LabelKey.create("key", "desc"))) .isEqualTo( LabelDescriptor.newBuilder() .setKey("key") .setDescription("desc") .setValueType(ValueType.STRING) .build()); }