Esempio n. 1
0
 def dumpStats(self):
     for plugin_name, plugin_timers in self._handling_timers.iteritems():
         for event_name, event_timers in plugin_timers.iteritems():
             mean, stdv = meanstdv(event_timers)
             self.console.verbose("%s %s : (ms) min(%0.1f), max(%0.1f), mean(%0.1f), stddev(%0.1f)", 
                       plugin_name, event_name,  min(event_timers), 
                       max(event_timers), mean, stdv)
     mean, stdv = meanstdv(self._queue_wait)
     self.console.verbose("wait in queue stats : (ms) min(%0.1f), max(%0.1f), mean(%0.1f), stddev(%0.1f)",
                          min(self._queue_wait), max(self._queue_wait), mean, stdv)
Esempio n. 2
0
 def dumpStats(self):
     for plugin_name, plugin_timers in self._handling_timers.iteritems():
         for event_name, event_timers in plugin_timers.iteritems():
             mean, stdv = meanstdv(event_timers)
             self.console.verbose("%s %s : (ms) min(%0.1f), max(%0.1f), mean(%0.1f), stddev(%0.1f)", 
                       plugin_name, event_name,  min(event_timers), 
                       max(event_timers), mean, stdv)
     mean, stdv = meanstdv(self._queue_wait)
     self.console.verbose("wait in queue stats : (ms) min(%0.1f), max(%0.1f), mean(%0.1f), stddev(%0.1f)",
                          min(self._queue_wait), max(self._queue_wait), mean, stdv)
Esempio n. 3
0
    def dumpStats(self):
        if self.console.log.isEnabledFor(VERBOSE):
            for plugin_name, plugin_timers in self._handling_timers.iteritems():
                for event_name, event_timers in plugin_timers.iteritems():
                    mean, stdv = meanstdv(event_timers)
                    if len(event_timers):
                        self.console.verbose("%s %s : (ms) min(%0.1f), max(%0.1f), mean(%0.1f), stddev(%0.1f)",
                              plugin_name, event_name,  min(event_timers),
                              max(event_timers), mean, stdv)

        if self.console.log.isEnabledFor(DEBUG):
            mean, stdv = meanstdv(self._queue_wait)
            if len(self._queue_wait):
                self.console.debug("Events waiting in queue stats : (ms) min(%0.1f), max(%0.1f), mean(%0.1f), stddev(%0.1f)",
                                 min(self._queue_wait), max(self._queue_wait), mean, stdv)
Esempio n. 4
0
    def dumpStats(self):
        if self.console.log.isEnabledFor(VERBOSE):
            for plugin_name, plugin_timers in self._handling_timers.iteritems(
            ):
                for event_name, event_timers in plugin_timers.iteritems():
                    mean, stdv = meanstdv(event_timers)
                    if len(event_timers):
                        self.console.verbose(
                            "%s %s : (ms) min(%0.1f), max(%0.1f), mean(%0.1f), stddev(%0.1f)",
                            plugin_name, event_name, min(event_timers),
                            max(event_timers), mean, stdv)

        if self.console.log.isEnabledFor(DEBUG):
            mean, stdv = meanstdv(self._queue_wait)
            if len(self._queue_wait):
                self.console.debug(
                    "Events waiting in queue stats : (ms) min(%0.1f), max(%0.1f), mean(%0.1f), stddev(%0.1f)",
                    min(self._queue_wait), max(self._queue_wait), mean, stdv)
 def test_meanstdv(self):
     for test_data, expected in {
         (5,): (5.0, 0),
         (10,): (10.0, 0),
         (): (0, 0)
     }.items():
         result = functions.meanstdv(test_data)
         if expected != result:
             self.fail("%r, expecting '%s' but got '%s'" % (test_data, expected, result))
Esempio n. 6
0
 def test_meanstdv(self):
     for test_data, expected in {
         (5, ): (5.0, 0),
         (10, ): (10.0, 0),
         (): (0, 0)
     }.items():
         result = functions.meanstdv(test_data)
         if expected != result:
             self.fail("%r, expecting '%s' but got '%s'" %
                       (test_data, expected, result))
Esempio n. 7
0
 def dump_stats(self):
     """
     Print event stats in the log file.
     """
     self.console.info('***** Event Stats *****')
     for plugin_name, plugin_timers in self._handling_timers.items():
         for event_name, event_timers in plugin_timers.items():
             if event_timers:
                 mean, stdv = meanstdv(event_timers)
                 self.console.info(
                     "%s %s : min(%0.4f), max(%0.4f), mean(%0.4f), stddev(%0.4f)",
                     plugin_name, event_name, min(event_timers),
                     max(event_timers), mean, stdv)
Esempio n. 8
0
    def cmd_metabanssync(self, data=None, client=None, cmd=None):
        """\
        send all active bans and tempbans found on your database to Metabans.com
        """
        MAX_BANS_PER_CALL = 50
        def chunks(l, n):
            for i in range(0, len(l), n):
                yield l[i:i+n]

        active_bans = self._getAllActiveBans()
        if len(active_bans) == 0:
            client.message("no active ban found")
            return
        client.message("will now send %s bans to metabans.com" % len(active_bans))
        try:
            for bans in chunks(active_bans, MAX_BANS_PER_CALL):
                oks, fails, stats = self._send_bans(bans)
                nb_ban_sent = 0
                for v in oks:
                    if v['request']['action'] == 'mb_assess_player':
                        nb_ban_sent += 1
                client.message("%s bans sent" % nb_ban_sent)
                for k in stats:
                    mean, stdv = meanstdv(stats[k])
                    self.debug("%s (%s calls): (ms) min(%0.1f), max(%0.1f), mean(%0.1f), stddev(%0.1f)", 
                                  k, len(stats[k]),
                                  min(stats[k]), max(stats[k]), 
                                  mean, stdv)
            client.message("all active bans sent to metabans.com")
        except MetabansAuthenticationError:
            self.error("bad METABANS username or api_key. Disabling Metaban plugin")
            client.message("bad METABANS username or api_key. Disabling Metaban plugin")
            self.disable()
        except MetabansError, err:
            self.error(err)
            client.message("Metabans replied with error %s" % err)