def _get_candidates(self, all_rules):
        """
        Don't report a rule statistics if any of the conditions is met:
        1. The report time hasn't come(some rules might have larger report intervals).
        2. The rule is never matched.
        """
        candidates = []
        for rule in all_rules:
            if rule.ever_matched() and rule.time_to_report():
                candidates.append(rule)
        return candidates