“12ad3514efd764f67681aae12bdd4c4fc121c954”上不存在“docs-cn/04-develop/03-insert-data/_c_sql.mdx”
提交 c49d233f 编写于 作者: Z zhangyunshu

profiler: fixed json decode error in timeline

上级 c363a866
...@@ -75,7 +75,7 @@ class TimelineAnalyser(BaseAnalyser): ...@@ -75,7 +75,7 @@ class TimelineAnalyser(BaseAnalyser):
try: try:
with open(file_path, 'r') as f_obj: with open(file_path, 'r') as f_obj:
timeline = json.load(f_obj) timeline = json.load(f_obj)
except (IOError, OSError) as err: except (IOError, OSError, json.JSONDecodeError) as err:
logger.error('Error occurred when read timeline display file: %s', err) logger.error('Error occurred when read timeline display file: %s', err)
raise ProfilerIOException raise ProfilerIOException
else: else:
...@@ -104,7 +104,7 @@ class TimelineAnalyser(BaseAnalyser): ...@@ -104,7 +104,7 @@ class TimelineAnalyser(BaseAnalyser):
try: try:
with open(file_path, 'r') as f_obj: with open(file_path, 'r') as f_obj:
timeline_summary = json.load(f_obj) timeline_summary = json.load(f_obj)
except (IOError, OSError) as err: except (IOError, OSError, json.JSONDecodeError) as err:
logger.error('Error occurred when read timeline summary file: %s', err) logger.error('Error occurred when read timeline summary file: %s', err)
raise ProfilerIOException raise ProfilerIOException
...@@ -128,14 +128,17 @@ class TimelineAnalyser(BaseAnalyser): ...@@ -128,14 +128,17 @@ class TimelineAnalyser(BaseAnalyser):
display_file_path, raise_key='Invalid timeline display json path.' display_file_path, raise_key='Invalid timeline display json path.'
) )
length = len(self._timeline_meta)
try: try:
with open(display_file_path, 'w') as json_file: with open(display_file_path, 'w') as json_file:
json_file.write('[') json_file.write('[')
for item in self._timeline_meta: for index, item in enumerate(self._timeline_meta):
json.dump(item, json_file) json.dump(item, json_file)
file_size = os.path.getsize(display_file_path) file_size = os.path.getsize(display_file_path)
if file_size > SIZE_LIMIT: if file_size > SIZE_LIMIT:
break break
if index == length - 1:
break
json_file.write(',') json_file.write(',')
json_file.write(']') json_file.write(']')
except (IOError, OSError) as err: except (IOError, OSError) as err:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册