code: def setup_metrics(self, metric_names, objects, period, count):
          
          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")
          if not isinstance(period, baseinteger):
              raise TypeError("period can only be an instance of type baseinteger")
          if not isinstance(count, baseinteger):
              raise TypeError("count can only be an instance of type baseinteger")
          affected_metrics = self._call("setupMetrics",
                       in_p=[metric_names, objects, period, count])
          affected_metrics = [IPerformanceMetric(a) for a in affected_metrics]
          return affected_metrics
docs: Sets parameters of specified base metrics for a set of objects. 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 setup metric parameters for.
  
          in period of type int
              Time interval in seconds between two consecutive samples of
              performance data.
  
          in count of type int
              Number of samples to retain in performance data history. Older
              samples get discarded.
  
          return affected_metrics of type :class:`IPerformanceMetric`
              Array of metrics that have been modified by the call to this method.