code: def consolidateBy(requestContext, seriesList, consolidationFunc):
      
      for series in seriesList:
          # datalib will throw an exception, so it's not necessary to validate
          # here
          series.consolidationFunc = consolidationFunc
          series.name = 'consolidateBy(%s,"%s")' % (series.name,
                                                    series.consolidationFunc)
          series.pathExpression = series.name
      return seriesList
docs: Takes one metric or a wildcard seriesList and a consolidation function
      name.
  
      Valid function names are 'sum', 'average', 'min', and 'max'.
  
      When a graph is drawn where width of the graph size in pixels is smaller
      than the number of datapoints to be graphed, Graphite consolidates the
      values to to prevent line overlap. The consolidateBy() function changes
      the consolidation function from the default of 'average' to one of 'sum',
      'max', or 'min'. This is especially useful in sales graphs, where
      fractional values make no sense and a 'sum' of consolidated values is
      appropriate.
  
      Example::
  
          &target=consolidateBy(Sales.widgets.largeBlue, 'sum')
          &target=consolidateBy(Servers.web01.sda1.free_space, 'max')