| @@ -73,11 +73,12 @@ class MinddataAnalyser(BaseAnalyser): | |||||
| if len(node_info) > 2 and info_type in ["all", "time"]: | if len(node_info) > 2 and info_type in ["all", "time"]: | ||||
| time_info["size"] = len(time_list) | time_info["size"] = len(time_list) | ||||
| time_info["info"] = {"get_next": time_list} | time_info["info"] = {"get_next": time_list} | ||||
| time_info["summary"] = { | |||||
| "time_summary": { | |||||
| "avg_cost": "0" if not time_list else str(total_cost / len(time_list)) | |||||
| if time_info["size"]: | |||||
| time_info["summary"] = { | |||||
| "time_summary": { | |||||
| "avg_cost": "0" if not time_list else str(total_cost / len(time_list)) | |||||
| } | |||||
| } | } | ||||
| } | |||||
| return queue_info, time_info | return queue_info, time_info | ||||
| @@ -103,15 +104,7 @@ class MinddataAnalyser(BaseAnalyser): | |||||
| queue_size_list = [] | queue_size_list = [] | ||||
| empty_step, full_step = 0, 0 | empty_step, full_step = 0, 0 | ||||
| device_queue_file_name = "device_queue_profiling_" + self._device_id + ".txt" | |||||
| device_queue_file_path = MinddataAnalyser.find_target_file(self._profiling_dir, device_queue_file_name) | |||||
| feed_file_name = "dataset_iterator_profiling_" + self._device_id + ".txt" | |||||
| feed_file_path = MinddataAnalyser.find_target_file(self._profiling_dir, feed_file_name) | |||||
| file_path = "" | |||||
| if device_queue_file_path: | |||||
| file_path = device_queue_file_path | |||||
| elif not device_queue_file_path and feed_file_path: | |||||
| file_path = feed_file_path | |||||
| file_path = self.get_device_queue_file_path() | |||||
| if file_path: | if file_path: | ||||
| with open(file_path) as data_file: | with open(file_path) as data_file: | ||||
| @@ -145,9 +138,10 @@ class MinddataAnalyser(BaseAnalyser): | |||||
| time_info["info"] = {"total_cost": total_time_list, | time_info["info"] = {"total_cost": total_time_list, | ||||
| "push_cost": push_time_list, | "push_cost": push_time_list, | ||||
| "get_cost": get_time_list} | "get_cost": get_time_list} | ||||
| time_info["summary"] = {"time_summary": {"avg_cost": total_cost/time_info["size"]}} | |||||
| time_info["summary"]["time_summary"]["get_cost"] = total_get/time_info["size"] | |||||
| time_info["summary"]["time_summary"]["push_cost"] = total_push/time_info["size"] | |||||
| if time_info["size"]: | |||||
| time_info["summary"] = {"time_summary": {"avg_cost": total_cost/time_info["size"]}} | |||||
| time_info["summary"]["time_summary"]["get_cost"] = total_get/time_info["size"] | |||||
| time_info["summary"]["time_summary"]["push_cost"] = total_push/time_info["size"] | |||||
| if info_type in ["all", "queue"]: | if info_type in ["all", "queue"]: | ||||
| queue_size_list = MinddataAnalyser.sort_step(queue_size_list) | queue_size_list = MinddataAnalyser.sort_step(queue_size_list) | ||||
| @@ -159,6 +153,25 @@ class MinddataAnalyser(BaseAnalyser): | |||||
| return queue_info, time_info | return queue_info, time_info | ||||
| def get_device_queue_file_path(self): | |||||
| """ | |||||
| Get device queue file path. | |||||
| Returns: | |||||
| str, the file path. | |||||
| """ | |||||
| device_queue_file_name = "device_queue_profiling_" + self._device_id + ".txt" | |||||
| device_queue_file_path = MinddataAnalyser.find_target_file(self._profiling_dir, device_queue_file_name) | |||||
| feed_file_name = "dataset_iterator_profiling_" + self._device_id + ".txt" | |||||
| feed_file_path = MinddataAnalyser.find_target_file(self._profiling_dir, feed_file_name) | |||||
| file_path = "" | |||||
| if device_queue_file_path: | |||||
| file_path = device_queue_file_path | |||||
| elif not device_queue_file_path and feed_file_path: | |||||
| file_path = feed_file_path | |||||
| return file_path | |||||
| @staticmethod | @staticmethod | ||||
| def analyse_queue_summary(get_next_queue_info, device_queue_info): | def analyse_queue_summary(get_next_queue_info, device_queue_info): | ||||
| """ | """ | ||||
| @@ -171,6 +184,7 @@ class MinddataAnalyser(BaseAnalyser): | |||||
| Returns: | Returns: | ||||
| dict, the summary of queue. | dict, the summary of queue. | ||||
| """ | """ | ||||
| result = {} | |||||
| if get_next_queue_info and device_queue_info: | if get_next_queue_info and device_queue_info: | ||||
| result = {"data_process": {"status": "normal"}, | result = {"data_process": {"status": "normal"}, | ||||
| "device_queue_op": {"status": "normal"}, | "device_queue_op": {"status": "normal"}, | ||||
| @@ -190,13 +204,12 @@ class MinddataAnalyser(BaseAnalyser): | |||||
| "summary", {}).get("queue_summary", {}).get("empty_queue", 0) | "summary", {}).get("queue_summary", {}).get("empty_queue", 0) | ||||
| device_queue_full_count = device_queue_info.get( | device_queue_full_count = device_queue_info.get( | ||||
| "summary", {}).get("queue_summary", {}).get("full_queue", 0) | "summary", {}).get("queue_summary", {}).get("full_queue", 0) | ||||
| result["device_queue_info"] = { | |||||
| "summary": { | |||||
| "empty_batch_count": device_queue_empty_count, | |||||
| "full_batch_count": device_queue_full_count, | |||||
| "total_batch": device_queue_info.get("size") | |||||
| } | |||||
| } | |||||
| result["device_queue_info"] = {"summary": { | |||||
| "empty_batch_count": device_queue_empty_count, | |||||
| "full_batch_count": device_queue_full_count, | |||||
| "total_batch": device_queue_info.get("size")}} | |||||
| if get_next_queue_empty_count: | if get_next_queue_empty_count: | ||||
| if device_queue_empty_count > device_queue_info.get("size", 0)*\ | if device_queue_empty_count > device_queue_info.get("size", 0)*\ | ||||
| MinddataAnalyser.DEVICE_QUEUE_EMPTY_WARNING_THRESHOLD: | MinddataAnalyser.DEVICE_QUEUE_EMPTY_WARNING_THRESHOLD: | ||||
| @@ -226,9 +239,6 @@ class MinddataAnalyser(BaseAnalyser): | |||||
| if device_queue_empty_count > device_queue_info.get("size", 0)*0.7: | if device_queue_empty_count > device_queue_info.get("size", 0)*0.7: | ||||
| result["data_process"]["status"] = "warning" | result["data_process"]["status"] = "warning" | ||||
| else: | |||||
| result = {} | |||||
| return result | return result | ||||