40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import main
|
|
from twisted.internet.task import LoopingCall
|
|
|
|
def event(name, eventType):
|
|
if not "local" in main.counters.keys():
|
|
main.counters["local"] = {}
|
|
if not "global" in main.counters.keys():
|
|
main.counters["global"] = {}
|
|
if not name 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 == 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)
|