(self, metric, scraper_config)
Time until the next schedule
Time until the next schedule
Time until the next schedule
def kube_cronjob_next_schedule_time(self, metric, scraper_config):
        """Time until the next schedule"""
        # Used as a service check so that one can be alerted if the cronjob's next schedule is in the past
        check_basename = scraper_config['namespace'] + '.cronjob.on_schedule_check'
        curr_time = int(time.time())
        for sample in metric.samples:
            on_schedule = int(sample[self.SAMPLE_VALUE]) - curr_time
            tags = []
            for label_name, label_value in iteritems(sample[self.SAMPLE_LABELS]):
                tags += self._build_tags(label_name, label_value, scraper_config)

            tags += scraper_config['custom_tags']
            if on_schedule < 0:
                message = "The service check scheduled at {} is {} seconds late".format(
                    time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(int(sample[self.SAMPLE_VALUE]))), on_schedule
                )
                self.service_check(check_basename, self.CRITICAL, tags=tags, message=message)
            else:
                self.service_check(check_basename, self.OK, tags=tags)
def kube_cronjob_next_schedule_time ( self , metric , scraper_config ) : # Used as a service check so that one can be alerted if the cronjob's next schedule is in the past check_basename = scraper_config [ 'namespace' ] + '.cronjob.on_schedule_check' curr_time = int ( time . time ( ) ) for sample in metric . samples : on_schedule = int ( sample [ self . SAMPLE_VALUE ] ) - curr_time tags = [ ] for label_name , label_value in iteritems ( sample [ self . SAMPLE_LABELS ] ) : tags += self . _build_tags ( label_name , label_value , scraper_config ) tags += scraper_config [ 'custom_tags' ] if on_schedule < 0 : message = "The service check scheduled at {} is {} seconds late" . format ( time . strftime ( '%Y-%m-%d %H:%M:%S' , time . gmtime ( int ( sample [ self . SAMPLE_VALUE ] ) ) ) , on_schedule ) self . service_check ( check_basename , self . CRITICAL , tags = tags , message = message ) else : self . service_check ( check_basename , self . OK , tags = tags )