def get_time_info(): """ Get minddata operation info. Returns: Response, the minddata operation info. Examples: >>> GET http://xxxx/v1/mindinsight/profile/minddata_op """ profiler_dir_abs = get_profiler_abs_dir(request) check_train_job_and_profiler_dir(profiler_dir_abs) device_id = unquote_args(request, "device_id") to_int(device_id, 'device_id') op_type = unquote_args(request, "type") time_info = { 'size': 0, 'info': [], "summary": { "time_summary": {} }, "advise": {} } minddata_analyser = AnalyserFactory.instance().get_analyser( 'minddata', profiler_dir_abs, device_id) if op_type == "get_next": _, time_info = minddata_analyser.analyse_get_next_info( info_type="time") elif op_type == "device_queue": _, time_info = minddata_analyser.analyse_device_queue_info( info_type="time") return jsonify(time_info)
def get_queue_info(): """ Get each type queue info. Returns: Response, the queue info. Examples: >>> GET http://xxxx/v1/mindinsight/profile/queue_info """ profiler_dir_abs = get_profiler_abs_dir(request) check_train_job_and_profiler_dir(profiler_dir_abs) device_id = unquote_args(request, "device_id") to_int(device_id, 'device_id') queue_type = unquote_args(request, "type") queue_info = {} minddata_analyser = AnalyserFactory.instance().get_analyser( 'minddata', profiler_dir_abs, device_id) if queue_type == "get_next": queue_info, _ = minddata_analyser.analyse_get_next_info( info_type="queue") elif queue_type == "device_queue": queue_info, _ = minddata_analyser.analyse_device_queue_info( info_type="queue") return jsonify(queue_info)
def get_process_summary(): """ Get interval process summary. Returns: Response, the process summary. Examples: >>> GET http://xxxx/v1/mindinsight/profile/process_summary """ profiler_dir_abs = get_profiler_abs_dir(request) check_train_job_and_profiler_dir(profiler_dir_abs) device_id = unquote_args(request, "device_id") to_int(device_id, 'device_id') minddata_analyser = AnalyserFactory.instance().get_analyser( 'minddata', profiler_dir_abs, device_id) get_next_queue_info, _ = minddata_analyser.analyse_get_next_info( info_type="queue") device_queue_info, _ = minddata_analyser.analyse_device_queue_info( info_type="queue") result = MinddataAnalyser.analyse_queue_summary(get_next_queue_info, device_queue_info) return jsonify(result)