Esempio n. 1
0
 def make_event(self, trace, group_name):
     dt = datetime.strptime(trace[u'traceTs'], '%Y-%m-%dT%H:%M:%S.%fZ')
     e = Event(self._new_relic_account, self._new_relic_app_id, self._event_type, dt)
     e.set('group', group_name)
     for k, v in trace.items():
         e.set(k, v)
     return e
Esempio n. 2
0
    def __init__(self, app_id, lookback_minutes, new_relic_account,
                 new_relic_app_id, event_type):
        super(ErrorsByVersionProcessor,
              self).__init__(app_id, lookback_minutes, new_relic_account,
                             new_relic_app_id, event_type)

        self._to_save = []
        errors_with_details = self.get_errors_with_details(lookback_minutes)

        events = []
        cumulative_errors_found = 0
        cumulative_previously_known = 0
        for cr_error in errors_with_details:
            todays_date = cr_error.current_date().strftime('%Y-%m-%d')
            e = Event(new_relic_account, new_relic_app_id, event_type,
                      datetime.now())

            for k, v in cr_error.as_event_dict(app_id).items():
                e.set(k, v)

            for version, version_occurrences in cr_error.current_date_occurrences(
            ).items():
                previously_known = CRErrorHistoryDAO.num_previously_known(
                    self._app_id, event_type, cr_error.crittercism_hash(),
                    version, todays_date)

                delta = version_occurrences - previously_known

                cumulative_errors_found += version_occurrences
                cumulative_previously_known += previously_known

                logging.getLogger().debug(
                    'Building event for cr_error=%s version=%s previously_known=%s num_new=%s',
                    cr_error.crittercism_hash(), version, previously_known,
                    delta)
                version_event = copy.deepcopy(e)
                version_event.set(u'version', version)

                events += [version_event] * delta

                self._to_save.append(
                    (event_type, cr_error.crittercism_hash(), version,
                     todays_date, version_occurrences))

        self._events = events
        logging.getLogger().info(
            'AppId=%s Event=%s num_found=%s num_known=%s num_new=%s', app_id,
            event_type, cumulative_errors_found, cumulative_previously_known,
            len(events))
    def __init__(self, app_id, lookback_minutes, new_relic_account, new_relic_app_id, event_type):
        super(ErrorsByVersionProcessor, self).__init__(app_id, lookback_minutes,
                                                       new_relic_account, new_relic_app_id, event_type)

        self._to_save = []
        errors_with_details = self.get_errors_with_details(lookback_minutes)

        events = []
        cumulative_errors_found = 0
        cumulative_previously_known = 0
        for cr_error in errors_with_details:
            todays_date = cr_error.current_date().strftime('%Y-%m-%d')
            e = Event(new_relic_account, new_relic_app_id, event_type, datetime.now())

            for k, v in cr_error.as_event_dict().items():
                e.set(k, v)

            for version, version_occurrences in cr_error.current_date_occurrences().items():
                previously_known = CRErrorHistoryDAO.num_previously_known(self._app_id, event_type,
                                                                          cr_error.crittercism_hash(),
                                                                          version, todays_date)

                delta = version_occurrences - previously_known

                cumulative_errors_found += version_occurrences
                cumulative_previously_known += previously_known

                logging.getLogger().debug('Building event for cr_error=%s version=%s previously_known=%s num_new=%s',
                                          cr_error.crittercism_hash(), version, previously_known, delta)
                version_event = copy.deepcopy(e)
                version_event.set(u'version', version)

                events += [version_event] * delta

                self._to_save.append((event_type, cr_error.crittercism_hash(), version,
                                      todays_date, version_occurrences))

        self._events = events
        logging.getLogger().info('AppId=%s Event=%s num_found=%s num_known=%s num_new=%s',
                                 app_id, event_type, cumulative_errors_found, cumulative_previously_known, len(events))