コード例 #1
0
ファイル: gems_tailer.py プロジェクト: gaubert/rodd
 def tail(self):
     '''
      tail
     '''
     
     end_time     = datetime.datetime.utcnow()
     
     start_time   = end_time - datetime.timedelta(0, 200)
     
     feeder = gems_feeder.GEMSExtractor(start_time = tu.datetime_to_gemsdate(start_time), \
                                        end_time   = tu.datetime_to_gemsdate(end_time), \
                                        severity   = ["A","W","I"], \
                                        facility   = ['DVB_EUR_UPLINK'])
     
     while True:
         last_line = None
         for line in feeder:
             last_line = line
             GEMSColPrinter.print_line(last_line)
         
         if not last_line:
             #print("sleep")
             time.sleep(10)
             #increase time window
             end_time   = datetime.datetime.utcnow()
         else:
             pos = last_line['time'].rfind('.')
             the_time = last_line['time'][:pos]
             start_time = tu.gemsdate_to_datetime(the_time)
             
             start_time = start_time + datetime.timedelta(0, 1)
             end_time   = datetime.datetime.utcnow()
         
         feeder = gems_feeder.GEMSExtractor(start_time = tu.datetime_to_gemsdate(start_time), \
                                            end_time   = tu.datetime_to_gemsdate(end_time), \
                                            severity   = ["A","W","I"], \
                                            facility   = ['DVB_EUR_UPLINK'])
コード例 #2
0
ファイル: gems_tailer.py プロジェクト: JoaoGRRodrigues/rodd
    def tail(self):
        '''
         tail
        '''

        end_time = datetime.datetime.utcnow()

        start_time = end_time - datetime.timedelta(0, 200)

        feeder = gems_feeder.GEMSExtractor(start_time = tu.datetime_to_gemsdate(start_time), \
                                           end_time   = tu.datetime_to_gemsdate(end_time), \
                                           severity   = ["A","W","I"], \
                                           facility   = ['DVB_EUR_UPLINK'])

        while True:
            last_line = None
            for line in feeder:
                last_line = line
                GEMSColPrinter.print_line(last_line)

            if not last_line:
                #print("sleep")
                time.sleep(10)
                #increase time window
                end_time = datetime.datetime.utcnow()
            else:
                pos = last_line['time'].rfind('.')
                the_time = last_line['time'][:pos]
                start_time = tu.gemsdate_to_datetime(the_time)

                start_time = start_time + datetime.timedelta(0, 1)
                end_time = datetime.datetime.utcnow()

            feeder = gems_feeder.GEMSExtractor(start_time = tu.datetime_to_gemsdate(start_time), \
                                               end_time   = tu.datetime_to_gemsdate(end_time), \
                                               severity   = ["A","W","I"], \
                                               facility   = ['DVB_EUR_UPLINK'])
コード例 #3
0
    def parse_GEMS_request(self, **kwargs):
        """
           Parse the parameters in GEMS
        """
        #look for start_time
        s_time = kwargs.get('start_time', '')
        #convert to GEMS time if it is a simple date

        if type(s_time) == time_utils.DATETIME_TYPE:
            s_time = time_utils.datetime_to_gemsdate(s_time)
        else:
            #convert string datetime to gems datetime
            s_time = time_utils.simpledate_to_gemsdate(
                convert_date_str_to_datetime(s_time))

        e_time = kwargs.get('end_time', '')

        if type(e_time) == time_utils.DATETIME_TYPE:
            e_time = time_utils.datetime_to_gemsdate(e_time)
        else:
            #convert string datetime to gems datetime
            e_time = time_utils.simpledate_to_gemsdate(
                convert_date_str_to_datetime(e_time))

        start_time = 'startTime=%s' % (s_time)
        end_time = '&endTime=%s' % (e_time)

        severities = ''
        str_severities = kwargs.get('severity', None)
        if str_severities:
            for severity in str_severities:
                if severity in ['I', 'A', 'W']:
                    severities = ''.join(
                        [severities, '&severity=%s' % (severity)])
        else:
            #default equals all severities
            #maybe it should be moved in other object
            severities = '&severity=I&severity=A&severity=W'

        facilities = ''
        for facility in kwargs.get('facility', []):
            facilities += '&facility=%s' % (facility)

        hosts = ''
        for host in kwargs.get('host', []):
            hosts += '&host=%s' % (host)

        processes = ''
        for process in kwargs.get('process', []):
            processes += '&process=%s' % (process)

        #url encode the elements
        # for the moment always regExp
        search = '&search=%s&regExp=1' % (urllib.quote(kwargs.get(
            'search', '')))

        request = "%s%s%s%s%s%s%s%s%s&pageSize=%s&x=50&y=6" % ( GEMSExtractor.URL_PREFIX, \
                                                                GEMSExtractor.D_URL_PREFIX, \
                                                                start_time, end_time, \
                                                                severities, facilities, \
                                                                hosts, processes, \
                                                                search, GEMSExtractor.MAX_NB_ELEMENTS)

        GEMSExtractor.log.debug("request =%s\n" % (request))

        return request
コード例 #4
0
ファイル: gems_feeder.py プロジェクト: gaubert/rodd
    def parse_GEMS_request(self, **kwargs):
        """
           Parse the parameters in GEMS
        """
        #look for start_time
        s_time = kwargs.get('start_time', '')
        #convert to GEMS time if it is a simple date
        
        if type(s_time) == time_utils.DATETIME_TYPE:
            s_time = time_utils.datetime_to_gemsdate(s_time)
        else:
            #convert string datetime to gems datetime
            s_time = time_utils.simpledate_to_gemsdate(convert_date_str_to_datetime(s_time))
           
        e_time = kwargs.get('end_time', '')
        
        if type(e_time) == time_utils.DATETIME_TYPE:
            e_time = time_utils.datetime_to_gemsdate(e_time)
        else:
            #convert string datetime to gems datetime
            e_time = time_utils.simpledate_to_gemsdate(convert_date_str_to_datetime(e_time))
        
        start_time = 'startTime=%s' % (s_time)
        end_time   = '&endTime=%s' % (e_time)
        
        severities = ''
        str_severities = kwargs.get('severity', None)
        if str_severities:
            for severity in str_severities:
                if severity in ['I', 'A', 'W']:
                    severities = ''.join([severities, '&severity=%s' % (severity)])
        else:
            #default equals all severities
            #maybe it should be moved in other object
            severities = '&severity=I&severity=A&severity=W'

        facilities = ''
        for facility in kwargs.get('facility', []):
            facilities += '&facility=%s' % (facility)
            
        hosts = ''
        for host in kwargs.get('host', []):
            hosts += '&host=%s' % (host)

        processes = ''
        for process in kwargs.get('process', []):
            processes += '&process=%s' % (process)
            
        
        #url encode the elements
        # for the moment always regExp
        search = '&search=%s&regExp=1' % (urllib.quote(kwargs.get('search','')))
        
        request = "%s%s%s%s%s%s%s%s%s&pageSize=%s&x=50&y=6" % ( GEMSExtractor.URL_PREFIX, \
                                                                GEMSExtractor.D_URL_PREFIX, \
                                                                start_time, end_time, \
                                                                severities, facilities, \
                                                                hosts, processes, \
                                                                search, GEMSExtractor.MAX_NB_ELEMENTS)
        
        GEMSExtractor.log.debug("request =%s\n" %(request))
      
        return request