docs: def do_metric_list(mc, args):
      '''List metrics for this tenant.'''
      fields = {}
      if args.name:
          fields['name'] = args.name
      if args.dimensions:
          fields['dimensions'] = utils.format_dimensions_query(args.dimensions)
      if args.limit:
          fields['limit'] = args.limit
      if args.offset:
          fields['offset'] = args.offset
      if args.starttime:
          _translate_starttime(args)
          fields['start_time'] = args.starttime
      if args.endtime:
          fields['end_time'] = args.endtime
      if args.tenant_id:
          fields['tenant_id'] = args.tenant_id
  
      try:
          metric = mc.metrics.list(**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']
          formatters = {
              'name': lambda x: x['name'],
              'dimensions': lambda x: utils.format_dict(x['dimensions']),
          }
          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)