45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
from twisted.internet.task import LoopingCall
|
|
|
|
import main
|
|
|
|
|
|
def event(name, eventType):
|
|
if "local" not in main.counters.keys():
|
|
main.counters["local"] = {}
|
|
if "global" not in main.counters.keys():
|
|
main.counters["global"] = {}
|
|
if name not in main.counters["local"].keys():
|
|
main.counters["local"][name] = {}
|
|
if eventType not in main.counters["local"][name].keys():
|
|
main.counters["local"][name][eventType] = 0
|
|
|
|
if eventType not in main.counters["global"]:
|
|
main.counters["global"][eventType] = 0
|
|
|
|
main.counters["local"][name][eventType] += 1
|
|
main.counters["global"][eventType] += 1
|
|
main.runningSample += 1
|
|
|
|
|
|
def getEvents(name=None):
|
|
if name is None:
|
|
if "global" in main.counters.keys():
|
|
return main.counters["global"]
|
|
else:
|
|
return None
|
|
else:
|
|
if name in main.counters["local"].keys():
|
|
return main.counters["local"][name]
|
|
else:
|
|
return None
|
|
|
|
|
|
def takeSample():
|
|
main.lastMinuteSample = main.runningSample
|
|
main.runningSample = 0
|
|
|
|
|
|
def setupCounterLoop():
|
|
lc = LoopingCall(takeSample)
|
|
lc.start(60)
|