async def METHOD_NAME(self, node_id=None, params=None, headers=None):
    """
    Returns information about hot threads on each node in the cluster.
    :arg node_id: A comma-separated list of node IDs or names to
        limit the returned information; use `_local` to return information from
        the node you're connecting to, leave empty to get information from all
        nodes
    :arg doc_type: The type to sample (default: cpu)  Valid choices:
        cpu, wait, block
    :arg ignore_idle_threads: Don't show threads that are in known-
        idle places, such as waiting on a socket select or pulling from an empty
        task queue (default: true)
    :arg interval: The interval for the second sampling of threads
    :arg snapshots: Number of samples of thread stacktrace (default:
        10)
    :arg threads: Specify the number of threads to provide
        information for (default: 3)
    :arg timeout: Explicit operation timeout
    """
    # type is a reserved word so it cannot be used, use doc_type instead
    if "doc_type" in params:
        params["type"] = params.pop("doc_type")
    return await self.transport.perform_request(
        "GET",
        _make_path("_nodes", node_id, "hot_threads"),
        params=params,
        headers=headers,
    )