def testStatsCollectorTally(self): print "This test will take about 60 seconds to run!" statsCollector = StatsCollector() statsCollector.start() self.assertEqual(0, statsCollector.getCount("test", 1)) statsCollector.tally("test") sleep(61) self.assertEqual(1, statsCollector.getCount("test", 1))
import gevent import simplejson import hashlib import uuid import zmq.green as zmq from bottle import get, response, run as bottle_run from eddn.conf.Settings import Settings, loadConfig from gevent import monkey monkey.patch_all() # This import must be done post-monkey-patching! from eddn.core.StatsCollector import StatsCollector statsCollector = StatsCollector() statsCollector.start() # This import must be done post-monkey-patching! if Settings.RELAY_DUPLICATE_MAX_MINUTES: from eddn.core.DuplicateMessages import DuplicateMessages duplicateMessages = DuplicateMessages() duplicateMessages.start() @get('/stats/') def stats(): response.set_header("Access-Control-Allow-Origin", "*") stats = statsCollector.getSummary() stats["version"] = Settings.EDDN_VERSION return simplejson.dumps(stats)
from gevent import monkey monkey.patch_all() from bottle import run, request, response, get, post logger = logging.getLogger(__name__) # This socket is used to push market data out to the Announcers over ZeroMQ. context = zmq.Context() sender = context.socket(zmq.PUB) validator = Validator() # This import must be done post-monkey-patching! from eddn.core.StatsCollector import StatsCollector statsCollector = StatsCollector() statsCollector.start() def configure(): # Get the list of transports to bind from settings. This allows us to PUB # messages to multiple announcers over a variety of socket types # (UNIX sockets and/or TCP sockets). for binding in Settings.GATEWAY_SENDER_BINDINGS: sender.bind(binding) for schemaRef, schemaFile in Settings.GATEWAY_JSON_SCHEMAS.iteritems(): validator.addSchemaResource( schemaRef, resource_string('eddn.Gateway', schemaFile)) def push_message(parsed_message, topic):