|
|
|
@ -56,7 +56,7 @@ f.close()
|
|
|
|
|
#
|
|
|
|
|
#
|
|
|
|
|
from threading import Thread, RLock
|
|
|
|
|
p = {'uri':'http://dev.the-phi.com:5984','dbname':'monitor','uid':'logs','filename':'logs.JSON'}
|
|
|
|
|
p = {'uri':'http://localhost:5984','dbname':'monitor','uid':'logs','filename':'logs.JSON'}
|
|
|
|
|
factory = DataSourceFactory()
|
|
|
|
|
gWriter = factory.instance(type='CouchdbWriter',args=p)
|
|
|
|
|
gReader = factory.instance(type='CouchdbReader',args=p)
|
|
|
|
@ -69,34 +69,39 @@ mthread.start()
|
|
|
|
|
|
|
|
|
|
@app.route('/get/<id>')
|
|
|
|
|
def procs(id):
|
|
|
|
|
if id in HANDLERS and len(mthread.logs)>0:
|
|
|
|
|
# r = ProcessQueue.get(block=True,timeout=15)
|
|
|
|
|
index = len(mthread.logs) -1
|
|
|
|
|
r = mthread.logs[index]
|
|
|
|
|
return json.dumps(r)
|
|
|
|
|
else:
|
|
|
|
|
return "[]"
|
|
|
|
|
pass
|
|
|
|
|
try:
|
|
|
|
|
d = gReader.basic_read()
|
|
|
|
|
r = {}
|
|
|
|
|
for label in d :
|
|
|
|
|
index = len(d[label]) - 1
|
|
|
|
|
r[label] = d[label][index]
|
|
|
|
|
|
|
|
|
|
except Exception, e:
|
|
|
|
|
print e
|
|
|
|
|
r = []
|
|
|
|
|
return json.dumps(r)
|
|
|
|
|
|
|
|
|
|
@app.route('/trends')
|
|
|
|
|
def trends ():
|
|
|
|
|
id = request.args.get('id')
|
|
|
|
|
# key = request.args.get('key')
|
|
|
|
|
global mthread
|
|
|
|
|
# mLock.acquire()
|
|
|
|
|
|
|
|
|
|
time.sleep(2)
|
|
|
|
|
doc = gReader.read()
|
|
|
|
|
doc['row']
|
|
|
|
|
handler = monitor.mapreducer()
|
|
|
|
|
r = handler.filter(id,logs)
|
|
|
|
|
r = handler.run(r,handler.mapper,handler.reducer)
|
|
|
|
|
# mLock.release()
|
|
|
|
|
if 'Google Chrome' in r:
|
|
|
|
|
for item in r['Google Chrome']:
|
|
|
|
|
print item['hour'],item['minute']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return json.dumps(r)
|
|
|
|
|
r = gReader.basic_read()
|
|
|
|
|
if id in r:
|
|
|
|
|
r = r[id]
|
|
|
|
|
series = {}
|
|
|
|
|
for row in r:
|
|
|
|
|
|
|
|
|
|
for item in row:
|
|
|
|
|
id = item['label']
|
|
|
|
|
if id not in series :
|
|
|
|
|
series[id] = []
|
|
|
|
|
series[id].append(item)
|
|
|
|
|
if len(series[id]) > 24 :
|
|
|
|
|
beg = len(series[id]) - 25
|
|
|
|
|
series[id] = series[id][beg:]
|
|
|
|
|
|
|
|
|
|
return json.dumps(series)
|
|
|
|
|
else:
|
|
|
|
|
return "[]"
|
|
|
|
|
@app.route('/dashboard')
|
|
|
|
|
def dashboard():
|
|
|
|
|
context = PARAMS['context']
|
|
|
|
|