in _damon_result.py [0:0]
def parse_damon_result_for(result_file, file_type, f, fmt_version, max_secs):
if not file_type:
file_type = 'record'
output = subprocess.check_output('file -b \'%s\'' % result_file,
shell=True, executable='/bin/bash').decode().strip()
if output == 'ASCII text':
file_type = 'perf_script'
if file_type == 'record':
result, f, fmt_version = record_to_damon_result(result_file,
f, fmt_version, max_secs)
elif file_type == 'perf_script':
result, f = perf_script_to_damon_result(result_file, f, max_secs)
fmt_version = None
else:
print('unknown result file type: %s (%s)' % (file_type, result_file))
return None
for snapshots in result.target_snapshots.values():
if len(snapshots) < 2:
break
if not result.start_time:
end_time = snapshots[-1].end_time
start_time = snapshots[0].end_time
nr_snapshots = len(snapshots) - 1
snapshot_time = float(end_time - start_time) / nr_snapshots
result.start_time = start_time - snapshot_time
result.end_time = end_time
result.nr_snapshots = nr_snapshots + 1
snapshots[0].start_time = snapshots[0].end_time - snapshot_time
return result, f, fmt_version