Pārlūkot izejas kodu

comments & documentation

steve 8 gadi atpakaļ
vecāks
revīzija
93186b81fa
1 mainītis faili ar 37 papildinājumiem un 3 dzēšanām
  1. 37 3
      src/api/index.py

+ 37 - 3
src/api/index.py

@@ -50,6 +50,10 @@ factory = DataSourceFactory()
 
 @app.route('/1/get/apps')
 def get_apps():
+    """
+		This function returns the labels of applications for every node registered
+		e.g: apps@zulu.org
+	"""
 	r = []
 	try:
 		gReader = factory.instance(type=class_read,args=p)
@@ -59,6 +63,11 @@ def get_apps():
 	return json.dumps(r)
 @app.route('/1/get/summary/<id>')
 def get_summary(id):
+    """
+		This function returns the summary i.e an overall assessment of resource usage
+		It will pull information out of the user's data-store (database & document) specified in the configuration
+		@param id	{app_resources|app_status|folder_size}
+	"""
 	r = []
 	try:
 		gReader = factory.instance(type=class_read,args=p)
@@ -77,7 +86,10 @@ def get_summary(id):
 @app.route("/1/sys/usage/trend")
 def get_usage_trend():
 	"""
-		This function returns trends for the 24 most recent observations in the logs
+
+		This function returns cpu/memory usage for the entire system being monitored. It will return the 24 most recent observations in the logs
+		No parameters should be passed.
+		@return {memory_usage:[],cpu_usage:[],app_count:value,memory_available:[]}
 	"""
 	r = {}
 	try:
@@ -91,7 +103,12 @@ def get_usage_trend():
 
 def get_usage_detail():
 	"""
-		This function returns trends for the 24 most recent observations in the logs
+		This function returns detailed information about usage per application monitored. It will return the 24 most recent observations in the logs
+		No parameters should be passed
+		@return {app_1:{memory_usage:[],cpu_usage:[]},app_2:{memory_usage:[],cpu_usage:[]},...}
+		@TODO: 
+			- add node references because if the same application lives on other nodes the info will be overriden
+			- parameters to be passed will be the node information
 	"""
 	r = {}
 	try:
@@ -100,7 +117,24 @@ def get_usage_detail():
 	except Exception,e:
 		print (e)
 	return json.dumps(r)
-	
+@app.route('/1/app/status/<id>')
+def app_status(id) :
+    	"""
+			This function aggregates the number of crashes/running/idle instances found in the past 24 log entries
+			@TODO: The back-end doesn't allow nodes to be specified
+			@param id	node that contains an app
+		"""
+		r = []
+    	try:
+			gReader = factory.instance(type=class_read,args=p)
+			r = gReader.view('summary/app_status_details',key=p['uid'])
+			#
+			#@TODO: Once the back-end enables the nodes in which the application is running, uncomment the line below
+			#
+			#r = r[id]
+		except Exception,e:
+			print e
+		return r	
 @app.route('/get/<id>')
 def procs(id):
 	try: