Bladeren bron

Merge branch 'master' of http://dev.the-phi.com/git/steve/monitor

Steve L. Nyemba 8 jaren geleden
bovenliggende
commit
aaa6cf9a08
3 gewijzigde bestanden met toevoegingen van 21 en 12 verwijderingen
  1. 15 9
      src/api/index.py
  2. 4 2
      src/utils/ml.py
  3. 2 1
      src/utils/workers.py

+ 15 - 9
src/api/index.py

@@ -139,29 +139,35 @@ def learn():
 	gReader = factory.instance(type=class_read,args=p)
 	d =  gReader.read()
 	if 'learn' in d :
-		logs = d['learn']
+		info = d['learn']
 		del d['learn']
 	else :
-		logs = []
+		info = []
 	r = []
 	if 'id' in request.args:
 		id = request.args['id']
 		d = d[id]
-		print CONFIG['monitor']['processes']['config'][id]
-		print (apps)
-		
+		apps =  CONFIG['monitor']['processes']['config'][id]
+		#print (apps)
 		
+		params = {}
+		for item in info:
+			id = item['label']
+			params[id] = item
 		#apps = list(set(ML.Extract(['label'],d)))
 		p = AnomalyDetection()
-		#for row in d :
-			#xo = ML.Filter('label',app,d)
+		for name in apps :
+			xo = ML.Filter('label',name,d)		
+			_info  = params[name]
 			#info = ML.Filter('label',app,logs)	
-			#value = p.predict(xo,info)
+			value = p.predict(xo,_info)
+			print [row[1] for row in value]
+			break
 			#print app,value
 			#if value is not None:
 			#	r.append(value)
 	print r
-	return json.dumps("[]")
+	return json.dumps([])
 		
 
 

+ 4 - 2
src/utils/ml.py

@@ -116,14 +116,16 @@ class AnomalyDetection:
 		@param info	stored information about this	
 	"""
 	def predict(self,xo,info):
-		xo = ML.Filter(info['extract'],xo)
+		
+		xo = ML.Extract(info['features'],xo)
+		
 		if not xo :
 			return None
 		
 		sigma = info['parameters']['cov']
 		xu	= info['parameters']['mean']
 		epsilon = info['performance']['epsilon']
-		return self.getPx(xu,sigma,xo,epsilon)
+		return self.gPx(xu,sigma,xo,epsilon)
 	"""
 		This function computes performance metrics i.e precision, recall and f-score
 		for details visit https://en.wikipedia.org/wiki/Precision_and_recall

+ 2 - 1
src/utils/workers.py

@@ -174,6 +174,7 @@ class ThreadManager:
 		for id in ThreadManager.Pool :
 			thread = ThreadManager.Pool[id]
 			r[id] = thread.isAlive()
+
 			
 		
 		
@@ -190,4 +191,4 @@ class Factory :
 			return {"class":ref,"config":config['monitor'][id]["config"]}
 		else:
 			return None
-	
+