code: def enable_metrics(self, metric_names, objects):
          
          if not isinstance(metric_names, list):
              raise TypeError("metric_names can only be an instance of type list")
          for a in metric_names[:10]:
              if not isinstance(a, basestring):
                  raise TypeError(
                          "array can only contain objects of type basestring")
          if not isinstance(objects, list):
              raise TypeError("objects can only be an instance of type list")
          for a in objects[:10]:
              if not isinstance(a, Interface):
                  raise TypeError(
                          "array can only contain objects of type Interface")
          affected_metrics = self._call("enableMetrics",
                       in_p=[metric_names, objects])
          affected_metrics = [IPerformanceMetric(a) for a in affected_metrics]
          return affected_metrics
docs: Turns on collecting specified base metrics. Returns an array of
          :py:class:`IPerformanceMetric`  describing the metrics have been
          affected.
          
          @c Null or empty metric name array means all metrics. @c Null or
          empty object array means all existing objects. If metric name array
          contains a single element and object array contains many, the single
          metric name array element is applied to each object array element to
          form metric/object pairs.
  
          in metric_names of type str
              Metric name filter. Comma-separated list of metrics with wildcard
              support.
  
          in objects of type Interface
              Set of objects to enable metrics for.
  
          return affected_metrics of type :class:`IPerformanceMetric`
              Array of metrics that have been modified by the call to this method.