docs: def do_metric_statistics(mc, args):
      '''List measurement statistics for the specified metric.'''
      statistic_types = ['AVG', 'MIN', 'MAX', 'COUNT', 'SUM']
      statlist = args.statistics.split(',')
      for stat in statlist:
          if stat.upper() not in statistic_types:
              errmsg = ('Invalid type, not one of [' +
                        ', '.join(statistic_types) + ']')
              raise osc_exc.CommandError(errmsg)
  
      fields = {}
      fields['name'] = args.name
      if args.dimensions:
          fields['dimensions'] = utils.format_dimensions_query(args.dimensions)
      _translate_starttime(args)
      fields['start_time'] = args.starttime
      if args.endtime:
          fields['end_time'] = args.endtime
      if args.period:
          fields['period'] = args.period
      fields['statistics'] = args.statistics
      if args.limit:
          fields['limit'] = args.limit
      if args.offset:
          fields['offset'] = args.offset
      if args.merge_metrics:
          fields['merge_metrics'] = args.merge_metrics
      if args.group_by:
          fields['group_by'] = args.group_by
      if args.tenant_id:
          fields['tenant_id'] = args.tenant_id
  
      try:
          metric = mc.metrics.list_statistics(**fields)
      except (osc_exc.ClientException, k_exc.HttpError) as he:
          raise osc_exc.CommandError('%s\n%s' % (he.message, he.details))
      else:
          if args.json:
              print(utils.json_formatter(metric))
              return
          cols = ['name', 'dimensions']
          # add dynamic column names
          if metric:
              column_names = metric[0]['columns']
              for name in column_names:
                  cols.append(name)
          else:
              # when empty set, print_list needs a col
              cols.append('timestamp')
  
          formatters = {
              'name': lambda x: x['name'],
              'dimensions': lambda x: utils.format_dict(x['dimensions']),
              'timestamp': lambda x:
              format_statistic_timestamp(x['statistics'], x['columns'],
                                         'timestamp'),
              'avg': lambda x:
              format_statistic_value(x['statistics'], x['columns'], 'avg'),
              'min': lambda x:
              format_statistic_value(x['statistics'], x['columns'], 'min'),
              'max': lambda x:
              format_statistic_value(x['statistics'], x['columns'], 'max'),
              'count': lambda x:
              format_statistic_value(x['statistics'], x['columns'], 'count'),
              'sum': lambda x:
              format_statistic_value(x['statistics'], x['columns'], 'sum'),
          }
          if isinstance(metric, list):
              # print the list
              utils.print_list(metric, cols, formatters=formatters)
          else:
              # add the dictionary to a list, so print_list works
              metric_list = list()
              metric_list.append(metric)
              utils.print_list(
                  metric_list,
                  cols,
                  formatters=formatters)