static LabelDescriptor mapAttribute()

in exporters/metrics/src/main/java/com/google/cloud/opentelemetry/metric/MetricTranslator.java [160:182]


  static <T> LabelDescriptor mapAttribute(AttributeKey<T> key, String descriptorTypePrefix) {
    LabelDescriptor.Builder builder =
        LabelDescriptor.newBuilder().setKey(cleanAttributeKey(key.getKey()));
    // Only CUSTOM_PREFIX allows for a descriptor type other than String.
    if (descriptorTypePrefix.equals(CUSTOM_PREFIX)) {
      switch (key.getType()) {
        case BOOLEAN:
          builder.setValueType(LabelDescriptor.ValueType.BOOL);
          break;
        case LONG:
          builder.setValueType(LabelDescriptor.ValueType.INT64);
          break;
        default:
          // All other attribute types will be converted to String
          builder.setValueType(LabelDescriptor.ValueType.STRING);
          break;
      }
    } else {
      // all other descriptor types only allow String Label descriptors.
      builder.setValueType(LabelDescriptor.ValueType.STRING);
    }
    return builder.build();
  }