<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def list_metrics(self, include=None, interval="1d", **kwargs):
 """Get statistics. :param list[str] include: List of fields included in response. None, or an empty list will return all fields. Fields: transactions, successful_api_calls, failed_api_calls, successful_handshakes, pending_bootstraps, successful_bootstraps, failed_bootstraps, registrations, updated_registrations, expired_registrations, deleted_registrations :param str interval: Group data by this interval in days, weeks or hours. Sample values: 2h, 3w, 4d. :param datetime start: Fetch the data with timestamp greater than or equal to this value. The parameter is not mandatory, if the period is specified. :param datetime end: Fetch the data with timestamp less than this value. The parameter is not mandatory, if the period is specified. :param str period: Period. Fetch the data for the period in days, weeks or hours. Sample values: 2h, 3w, 4d. The parameter is not mandatory, if the start and end time are specified :param int limit: The number of devices to retrieve :param str order: The ordering direction, ascending (asc) or descending (desc) :param str after: Get metrics after/starting at given metric ID :returns: a list of :py:class:`Metric` objects :rtype: PaginatedResponse """

        self._verify_arguments(interval, kwargs)
        include = Metric._map_includes(include)
        kwargs.update(dict(include=include, interval=interval))
        api = self._get_api(statistics.StatisticsApi)
        return PaginatedResponse(api.get_metrics, lwrap_type=Metric, **kwargs)