code: func Serialize(fields []Field, values []interface{}) []*pb.MetricsData_MetricField {
  	ret := make([]*pb.MetricsData_MetricField, len(fields))
  
  	for i, f := range fields {
  		d := &pb.MetricsData_MetricField{
  			Name: proto.String(f.Name),
  		}
  
  		switch f.Type {
  		case StringType:
  			d.Value = &pb.MetricsData_MetricField_StringValue{values[i].(string)}
  		case BoolType:
  			d.Value = &pb.MetricsData_MetricField_BoolValue{values[i].(bool)}
  		case IntType:
  			d.Value = &pb.MetricsData_MetricField_Int64Value{values[i].(int64)}
  		}
  
  		ret[i] = d
  	}
  
  	return ret
  }
docs: // Serialize returns a slice of ts_mon_proto.MetricsData.MetricsField messages
  // representing the field names and values.