private static AttributeValue toAttributeValueProto()

in exporters/trace/src/main/java/com/google/cloud/opentelemetry/trace/TraceTranslator.java [206:229]


  private static <T> AttributeValue toAttributeValueProto(AttributeKey<?> key, Object value) {
    AttributeValue.Builder builder = AttributeValue.newBuilder();
    switch (key.getType()) {
      case STRING:
        builder.setStringValue(toTruncatableStringProto((String) value));
        break;
      case BOOLEAN:
        builder.setBoolValue((Boolean) value);
        break;
      case LONG:
        builder.setIntValue((Long) value);
        break;
      case DOUBLE:
        builder.setStringValue(toTruncatableStringProto(String.valueOf((value))));
        break;
      case STRING_ARRAY:
      case BOOLEAN_ARRAY:
      case LONG_ARRAY:
      case DOUBLE_ARRAY:
        builder.setStringValue(toTruncatableStringProto(jsonString((List<?>) value)));
        break;
    }
    return builder.build();
  }