def _generateExtraMetricSpecs(options):
 global _metricSpecSchema
 results = []
 for metric in options['metrics']:
  for propertyName in _metricSpecSchema['properties'].keys():
   _getPropertyValue(_metricSpecSchema, propertyName, metric)
  (specString, label) = _generateMetricSpecString(field=metric['field'], metric=metric['metric'], params=metric['params'], inferenceElement=metric['inferenceElement'], returnLabel=True)
  if metric['logged']:
   options['loggedMetrics'].append(label)
  results.append(specString)
 return results

def _generateExtraMetricSpecs ( options ) : global _metricSpecSchema results = [ ] for metric in options [ 'metrics' ] : for propertyName in _metricSpecSchema [ 'properties' ] . keys ( ) : _getPropertyValue ( _metricSpecSchema , propertyName , metric ) ( specString , label ) = _generateMetricSpecString ( field = metric [ 'field' ] , metric = metric [ 'metric' ] , params = metric [ 'params' ] , inferenceElement = metric [ 'inferenceElement' ] , returnLabel = True ) if metric [ 'logged' ] : options [ 'loggedMetrics' ] . append ( label ) results . append ( specString ) return results
generates the non-default metrics specified by the expgenerator params .