func fieldToLabels()

in pkg/plugin/cloudlogging/cloudlogging.go [157:172]


func fieldToLabels(labels data.Labels, fieldName string, field *structpb.Value) {
	switch t := field.GetKind().(type) {
	case *structpb.Value_NumberValue:
		labels[fieldName] = fmt.Sprintf("%v", t.NumberValue)
	case *structpb.Value_BoolValue:
		labels[fieldName] = fmt.Sprintf("%t", t.BoolValue)
	case *structpb.Value_StringValue:
		labels[fieldName] = t.StringValue
	case *structpb.Value_StructValue:
		for key, value := range t.StructValue.GetFields() {
			fieldToLabels(labels, fmt.Sprintf("%s.%s", fieldName, key), value)
		}
	default:
		labels[fieldName] = field.String()
	}
}