'Compute new samples.'

def sample(self):

    self._sampling = True
    try:
        if (self.is_raw_perf_class and (not self._previous_sample)):
            self._current_sample = self._query()
        self._previous_sample = self._current_sample
        self._current_sample = self._query()
    except TimeoutException:
        self.logger.debug(u'Query    timeout    after    {timeout}s'.format(timeout=self._timeout_duration))
        raise
    else:
        self._sampling = False
