def service_restarted_since(self, sentry_unit, mtime, service,
                                pgrep_full=None, sleep_time=20,
                                retry_count=30, retry_sleep_time=10):
        """Check if service was been started after a given time.

        Args:
          sentry_unit (sentry): The sentry unit to check for the service on
          mtime (float): The epoch time to check against
          service (string): service name to look for in process table
          pgrep_full: [Deprecated] Use full command line search mode with pgrep
          sleep_time (int): Initial sleep time (s) before looking for file
          retry_sleep_time (int): Time (s) to sleep between retries
          retry_count (int): If file is not found, how many times to retry

        Returns:
          bool: True if service found and its start time it newer than mtime,
                False if service is older than mtime or if service was
                not found.
        """
        # NOTE(beisner) pgrep_full is no longer implemented, as pidof is now
        # used instead of pgrep.  pgrep_full is still passed through to ensure
        # deprecation WARNS.  lp1474030

        unit_name = sentry_unit.info['unit_name']
        self.log.debug('Checking that %s service restarted since %s on '
                       '%s' % (service, mtime, unit_name))
        time.sleep(sleep_time)
        proc_start_time = None
        tries = 0
        while tries <= retry_count and not proc_start_time:
            try:
                proc_start_time = self._get_proc_start_time(sentry_unit,
                                                            service,
                                                            pgrep_full)
                self.log.debug('Attempt {} to get {} proc start time on {} '
                               'OK'.format(tries, service, unit_name))
            except IOError as e:
                # NOTE(beisner) - race avoidance, proc may not exist yet.
                # https://bugs.launchpad.net/charm-helpers/+bug/1474030
                self.log.debug('Attempt {} to get {} proc start time on {} '
                               'failed\n{}'.format(tries, service,
                                                   unit_name, e))
                time.sleep(retry_sleep_time)
                tries += 1

        if not proc_start_time:
            self.log.warn('No proc start time found, assuming service did '
                          'not start')
            return False
        if proc_start_time >= mtime:
            self.log.debug('Proc start time is newer than provided mtime'
                           '(%s >= %s) on %s (OK)' % (proc_start_time,
                                                      mtime, unit_name))
            return True
        else:
            self.log.warn('Proc start time (%s) is older than provided mtime '
                          '(%s) on %s, service did not '
                          'restart' % (proc_start_time, mtime, unit_name))
            return False
Check if service was been started after a given time.

        Args:
          sentry_unit (sentry): The sentry unit to check for the service on
          mtime (float): The epoch time to check against
          service (string): service name to look for in process table
          pgrep_full: [Deprecated] Use full command line search mode with pgrep
          sleep_time (int): Initial sleep time (s) before looking for file
          retry_sleep_time (int): Time (s) to sleep between retries
          retry_count (int): If file is not found, how many times to retry

        Returns:
          bool: True if service found and its start time it newer than mtime,
                False if service is older than mtime or if service was
                not found.