'Fetches and returns the query trace of the last response, or `None` if tracing was
not enabled.
Note that this may raise an exception if there are problems retrieving the trace
details from Cassandra. If the trace is not available after `max_wait`,
:exc:`cassandra.query.TraceUnavailable` will be raised.
If the ResponseFuture is not done (async execution) and you try to retrieve the trace,
:exc:`cassandra.query.TraceUnavailable` will be raised.
`query_cl` is the consistency level used to poll the trace tables.'

def get_query_trace(self, max_wait=None, query_cl=ConsistencyLevel.LOCAL_ONE):

    if ((self._final_result is _NOT_SET) and (self._final_exception is None)):
        raise TraceUnavailable('Trace    information    was    not    available.    The    ResponseFuture    is    not    done.')
    if self._query_traces:
        return self._get_query_trace((len(self._query_traces) - 1), max_wait, query_cl)
