code: def metric_names(self, id, name=None, page=None):
          
          params = [
              'name={0}'.format(name) if name else None,
              'page={0}'.format(page) if page else None
          ]
  
          return self._get(
              url='{0}servers/{1}/metrics.json'.format(self.URL, id),
              headers=self.headers,
              params=self.build_param_string(params)
          )
docs: Return a list of known metrics and their value names for the given resource.
  
          :type id: int
          :param id: Server ID
  
          :type name: str
          :param name: Filter metrics by name
  
          :type page: int
          :param page: Pagination index
  
          :rtype: dict
          :return: The JSON response of the API, with an additional 'pages' key
              if there are paginated results
  
          ::
  
              {
                  "metrics": [
                      {
                          "name": "string",
                          "values": [
                              "string"
                          ]
                      }
                  ],
                  "pages": {
                      "last": {
                          "url": "https://api.newrelic.com/v2/servers/{server_id}/metrics.json?page=2",
                          "rel": "last"
                      },
                      "next": {
                          "url": "https://api.newrelic.com/v2/servers/{server_id}/metrics.json?page=2",
                          "rel": "next"
                      }
                  }
              }