1cb93a386Sopenharmony_ci[ 2cb93a386Sopenharmony_ci { 3cb93a386Sopenharmony_ci "cmd": [ 4cb93a386Sopenharmony_ci "vpython", 5cb93a386Sopenharmony_ci "-u", 6cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 7cb93a386Sopenharmony_ci "--json-output", 8cb93a386Sopenharmony_ci "/path/to/tmp/json", 9cb93a386Sopenharmony_ci "ensure-directory", 10cb93a386Sopenharmony_ci "--mode", 11cb93a386Sopenharmony_ci "0777", 12cb93a386Sopenharmony_ci "[START_DIR]/tmp" 13cb93a386Sopenharmony_ci ], 14cb93a386Sopenharmony_ci "infra_step": true, 15cb93a386Sopenharmony_ci "name": "makedirs tmp_dir" 16cb93a386Sopenharmony_ci }, 17cb93a386Sopenharmony_ci { 18cb93a386Sopenharmony_ci "cmd": [ 19cb93a386Sopenharmony_ci "vpython", 20cb93a386Sopenharmony_ci "-u", 21cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 22cb93a386Sopenharmony_ci "--json-output", 23cb93a386Sopenharmony_ci "/path/to/tmp/json", 24cb93a386Sopenharmony_ci "copy", 25cb93a386Sopenharmony_ci "[START_DIR]/skia/infra/bots/assets/lottie-samples/VERSION", 26cb93a386Sopenharmony_ci "/path/to/tmp/" 27cb93a386Sopenharmony_ci ], 28cb93a386Sopenharmony_ci "infra_step": true, 29cb93a386Sopenharmony_ci "name": "Get lottie-samples VERSION", 30cb93a386Sopenharmony_ci "~followup_annotations": [ 31cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@VERSION@42@@@", 32cb93a386Sopenharmony_ci "@@@STEP_LOG_END@VERSION@@@" 33cb93a386Sopenharmony_ci ] 34cb93a386Sopenharmony_ci }, 35cb93a386Sopenharmony_ci { 36cb93a386Sopenharmony_ci "cmd": [ 37cb93a386Sopenharmony_ci "vpython", 38cb93a386Sopenharmony_ci "-u", 39cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 40cb93a386Sopenharmony_ci "--json-output", 41cb93a386Sopenharmony_ci "/path/to/tmp/json", 42cb93a386Sopenharmony_ci "copy", 43cb93a386Sopenharmony_ci "42", 44cb93a386Sopenharmony_ci "[START_DIR]/tmp/LOTTIE_VERSION" 45cb93a386Sopenharmony_ci ], 46cb93a386Sopenharmony_ci "infra_step": true, 47cb93a386Sopenharmony_ci "name": "write LOTTIE_VERSION", 48cb93a386Sopenharmony_ci "~followup_annotations": [ 49cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@LOTTIE_VERSION@42@@@", 50cb93a386Sopenharmony_ci "@@@STEP_LOG_END@LOTTIE_VERSION@@@" 51cb93a386Sopenharmony_ci ] 52cb93a386Sopenharmony_ci }, 53cb93a386Sopenharmony_ci { 54cb93a386Sopenharmony_ci "cmd": [ 55cb93a386Sopenharmony_ci "vpython", 56cb93a386Sopenharmony_ci "-u", 57cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 58cb93a386Sopenharmony_ci "--json-output", 59cb93a386Sopenharmony_ci "/path/to/tmp/json", 60cb93a386Sopenharmony_ci "rmtree", 61cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]" 62cb93a386Sopenharmony_ci ], 63cb93a386Sopenharmony_ci "infra_step": true, 64cb93a386Sopenharmony_ci "name": "rmtree [SWARM_OUT_DIR]" 65cb93a386Sopenharmony_ci }, 66cb93a386Sopenharmony_ci { 67cb93a386Sopenharmony_ci "cmd": [ 68cb93a386Sopenharmony_ci "vpython", 69cb93a386Sopenharmony_ci "-u", 70cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 71cb93a386Sopenharmony_ci "--json-output", 72cb93a386Sopenharmony_ci "/path/to/tmp/json", 73cb93a386Sopenharmony_ci "ensure-directory", 74cb93a386Sopenharmony_ci "--mode", 75cb93a386Sopenharmony_ci "0777", 76cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]" 77cb93a386Sopenharmony_ci ], 78cb93a386Sopenharmony_ci "infra_step": true, 79cb93a386Sopenharmony_ci "name": "makedirs [SWARM_OUT_DIR]" 80cb93a386Sopenharmony_ci }, 81cb93a386Sopenharmony_ci { 82cb93a386Sopenharmony_ci "cmd": [ 83cb93a386Sopenharmony_ci "vpython", 84cb93a386Sopenharmony_ci "-u", 85cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 86cb93a386Sopenharmony_ci "--json-output", 87cb93a386Sopenharmony_ci "/path/to/tmp/json", 88cb93a386Sopenharmony_ci "listdir", 89cb93a386Sopenharmony_ci "[START_DIR]/lottie-samples" 90cb93a386Sopenharmony_ci ], 91cb93a386Sopenharmony_ci "infra_step": true, 92cb93a386Sopenharmony_ci "name": "list lottie files", 93cb93a386Sopenharmony_ci "~followup_annotations": [ 94cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/LICENSE@@@", 95cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/lottie 3!.json@@@", 96cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/lottie(test)'!2.json@@@", 97cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/lottie1.json@@@", 98cb93a386Sopenharmony_ci "@@@STEP_LOG_END@listdir@@@" 99cb93a386Sopenharmony_ci ] 100cb93a386Sopenharmony_ci }, 101cb93a386Sopenharmony_ci { 102cb93a386Sopenharmony_ci "cmd": [ 103cb93a386Sopenharmony_ci "python", 104cb93a386Sopenharmony_ci "-u", 105cb93a386Sopenharmony_ci "RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py", 106cb93a386Sopenharmony_ci "[START_DIR]", 107cb93a386Sopenharmony_ci "catchsegv", 108cb93a386Sopenharmony_ci "[START_DIR]/build/dm", 109cb93a386Sopenharmony_ci "--resourcePath", 110cb93a386Sopenharmony_ci "[START_DIR]/skia/resources", 111cb93a386Sopenharmony_ci "--lotties", 112cb93a386Sopenharmony_ci "[START_DIR]/lottie-samples", 113cb93a386Sopenharmony_ci "--src", 114cb93a386Sopenharmony_ci "lottie", 115cb93a386Sopenharmony_ci "--nonativeFonts", 116cb93a386Sopenharmony_ci "--verbose", 117cb93a386Sopenharmony_ci "--traceMatch", 118cb93a386Sopenharmony_ci "skottie", 119cb93a386Sopenharmony_ci "--trace", 120cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/2.json", 121cb93a386Sopenharmony_ci "--match", 122cb93a386Sopenharmony_ci "^lottie 3!.json$", 123cb93a386Sopenharmony_ci "--config", 124cb93a386Sopenharmony_ci "gles", 125cb93a386Sopenharmony_ci "--nocpu" 126cb93a386Sopenharmony_ci ], 127cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 128cb93a386Sopenharmony_ci "env": { 129cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 130cb93a386Sopenharmony_ci "LD_LIBRARY_PATH": "[START_DIR]/mesa_intel_driver_linux", 131cb93a386Sopenharmony_ci "LIBGL_DRIVERS_PATH": "[START_DIR]/mesa_intel_driver_linux", 132cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]", 133cb93a386Sopenharmony_ci "VK_ICD_FILENAMES": "[START_DIR]/mesa_intel_driver_linux/intel_icd.x86_64.json" 134cb93a386Sopenharmony_ci }, 135cb93a386Sopenharmony_ci "name": "symbolized dm" 136cb93a386Sopenharmony_ci }, 137cb93a386Sopenharmony_ci { 138cb93a386Sopenharmony_ci "cmd": [ 139cb93a386Sopenharmony_ci "vpython", 140cb93a386Sopenharmony_ci "-u", 141cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 142cb93a386Sopenharmony_ci "--json-output", 143cb93a386Sopenharmony_ci "/path/to/tmp/json", 144cb93a386Sopenharmony_ci "copy", 145cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/2.json", 146cb93a386Sopenharmony_ci "/path/to/tmp/" 147cb93a386Sopenharmony_ci ], 148cb93a386Sopenharmony_ci "infra_step": true, 149cb93a386Sopenharmony_ci "name": "read [START_DIR]/[SWARM_OUT_DIR]/2.json", 150cb93a386Sopenharmony_ci "~followup_annotations": [ 151cb93a386Sopenharmony_ci "@@@STEP_LOG_END@2.json@@@" 152cb93a386Sopenharmony_ci ] 153cb93a386Sopenharmony_ci }, 154cb93a386Sopenharmony_ci { 155cb93a386Sopenharmony_ci "cmd": [ 156cb93a386Sopenharmony_ci "python", 157cb93a386Sopenharmony_ci "-u", 158cb93a386Sopenharmony_ci "\nimport json\nimport sys\n\ntrace_output = sys.argv[1]\ntrace_json = json.loads(trace_output)\nlottie_filename = sys.argv[2]\noutput_json_file = sys.argv[3]\n\nperf_results = {}\nframe_max = 0\nframe_min = 0\nframe_cumulative = 0\ncurrent_frame_duration = 0\ntotal_frames = 0\nframe_start = False\nfor trace in trace_json:\n if 'skottie::Animation::seek' in trace['name']:\n if frame_start:\n raise Exception('We got consecutive Animation::seek without a ' +\n 'render. Something is wrong.')\n frame_start = True\n current_frame_duration = trace['dur']\n elif 'skottie::Animation::render' in trace['name']:\n if not frame_start:\n raise Exception('We got an Animation::render without a seek first. ' +\n 'Something is wrong.')\n\n current_frame_duration += trace['dur']\n frame_start = False\n total_frames += 1\n frame_max = max(frame_max, current_frame_duration)\n frame_min = (min(frame_min, current_frame_duration)\n if frame_min else current_frame_duration)\n frame_cumulative += current_frame_duration\n\nexpected_dm_frames = 25\nif total_frames != expected_dm_frames:\n raise Exception(\n 'Got ' + str(total_frames) + ' frames instead of ' +\n str(expected_dm_frames))\nperf_results['frame_max_us'] = frame_max\nperf_results['frame_min_us'] = frame_min\nperf_results['frame_avg_us'] = frame_cumulative/total_frames\n\n# Write perf_results to the output json.\nwith open(output_json_file, 'w') as f:\n f.write(json.dumps(perf_results))\n", 159cb93a386Sopenharmony_ci "\n[{\"ph\":\"X\",\"name\":\"void skottie::Animation::seek(SkScalar)\",\"ts\":452,\"dur\":2.57,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void SkCanvas::drawPaint(const SkPaint &)\",\"ts\":473,\"dur\":2.67e+03,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::seek(SkScalar)\",\"ts\":3.15e+03,\"dur\":2.25,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::render(SkCanvas *, const SkRect *, RenderFlags) const\",\"ts\":3.15e+03,\"dur\":216,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void SkCanvas::drawPath(const SkPath &, const SkPaint &)\",\"ts\":3.35e+03,\"dur\":15.1,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::seek(SkScalar)\",\"ts\":3.37e+03,\"dur\":1.17,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::render(SkCanvas *, const SkRect *, RenderFlags) const\",\"ts\":3.37e+03,\"dur\":140,\"tid\":1,\"pid\":0}]\n", 160cb93a386Sopenharmony_ci "lottie 3!.json", 161cb93a386Sopenharmony_ci "/path/to/tmp/json" 162cb93a386Sopenharmony_ci ], 163cb93a386Sopenharmony_ci "env": { 164cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 165cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 166cb93a386Sopenharmony_ci }, 167cb93a386Sopenharmony_ci "name": "parse lottie 3!.json trace", 168cb93a386Sopenharmony_ci "~followup_annotations": [ 169cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@{@@@", 170cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@ \"frame_avg_us\": 179.71, @@@", 171cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@ \"frame_max_us\": 218.25, @@@", 172cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@ \"frame_min_us\": 141.17@@@", 173cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@}@@@", 174cb93a386Sopenharmony_ci "@@@STEP_LOG_END@json.output@@@", 175cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 176cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import json@@@", 177cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 178cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 179cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@trace_output = sys.argv[1]@@@", 180cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@trace_json = json.loads(trace_output)@@@", 181cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@lottie_filename = sys.argv[2]@@@", 182cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@output_json_file = sys.argv[3]@@@", 183cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 184cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results = {}@@@", 185cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_max = 0@@@", 186cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_min = 0@@@", 187cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_cumulative = 0@@@", 188cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@current_frame_duration = 0@@@", 189cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@total_frames = 0@@@", 190cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_start = False@@@", 191cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@for trace in trace_json:@@@", 192cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if 'skottie::Animation::seek' in trace['name']:@@@", 193cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if frame_start:@@@", 194cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('We got consecutive Animation::seek without a ' +@@@", 195cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'render. Something is wrong.')@@@", 196cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_start = True@@@", 197cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ current_frame_duration = trace['dur']@@@", 198cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ elif 'skottie::Animation::render' in trace['name']:@@@", 199cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if not frame_start:@@@", 200cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('We got an Animation::render without a seek first. ' +@@@", 201cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'Something is wrong.')@@@", 202cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 203cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ current_frame_duration += trace['dur']@@@", 204cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_start = False@@@", 205cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ total_frames += 1@@@", 206cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_max = max(frame_max, current_frame_duration)@@@", 207cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_min = (min(frame_min, current_frame_duration)@@@", 208cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if frame_min else current_frame_duration)@@@", 209cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_cumulative += current_frame_duration@@@", 210cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 211cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@expected_dm_frames = 25@@@", 212cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if total_frames != expected_dm_frames:@@@", 213cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception(@@@", 214cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'Got ' + str(total_frames) + ' frames instead of ' +@@@", 215cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ str(expected_dm_frames))@@@", 216cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results['frame_max_us'] = frame_max@@@", 217cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results['frame_min_us'] = frame_min@@@", 218cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results['frame_avg_us'] = frame_cumulative/total_frames@@@", 219cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 220cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Write perf_results to the output json.@@@", 221cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@with open(output_json_file, 'w') as f:@@@", 222cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ f.write(json.dumps(perf_results))@@@", 223cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 224cb93a386Sopenharmony_ci ] 225cb93a386Sopenharmony_ci }, 226cb93a386Sopenharmony_ci { 227cb93a386Sopenharmony_ci "cmd": [ 228cb93a386Sopenharmony_ci "vpython", 229cb93a386Sopenharmony_ci "-u", 230cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 231cb93a386Sopenharmony_ci "--json-output", 232cb93a386Sopenharmony_ci "/path/to/tmp/json", 233cb93a386Sopenharmony_ci "remove", 234cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/2.json" 235cb93a386Sopenharmony_ci ], 236cb93a386Sopenharmony_ci "infra_step": true, 237cb93a386Sopenharmony_ci "name": "remove [START_DIR]/[SWARM_OUT_DIR]/2.json" 238cb93a386Sopenharmony_ci }, 239cb93a386Sopenharmony_ci { 240cb93a386Sopenharmony_ci "cmd": [ 241cb93a386Sopenharmony_ci "python", 242cb93a386Sopenharmony_ci "-u", 243cb93a386Sopenharmony_ci "RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py", 244cb93a386Sopenharmony_ci "[START_DIR]", 245cb93a386Sopenharmony_ci "catchsegv", 246cb93a386Sopenharmony_ci "[START_DIR]/build/dm", 247cb93a386Sopenharmony_ci "--resourcePath", 248cb93a386Sopenharmony_ci "[START_DIR]/skia/resources", 249cb93a386Sopenharmony_ci "--lotties", 250cb93a386Sopenharmony_ci "[START_DIR]/lottie-samples", 251cb93a386Sopenharmony_ci "--src", 252cb93a386Sopenharmony_ci "lottie", 253cb93a386Sopenharmony_ci "--nonativeFonts", 254cb93a386Sopenharmony_ci "--verbose", 255cb93a386Sopenharmony_ci "--traceMatch", 256cb93a386Sopenharmony_ci "skottie", 257cb93a386Sopenharmony_ci "--trace", 258cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/3.json", 259cb93a386Sopenharmony_ci "--match", 260cb93a386Sopenharmony_ci "^lottie(test)'!2.json$", 261cb93a386Sopenharmony_ci "--config", 262cb93a386Sopenharmony_ci "gles", 263cb93a386Sopenharmony_ci "--nocpu" 264cb93a386Sopenharmony_ci ], 265cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 266cb93a386Sopenharmony_ci "env": { 267cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 268cb93a386Sopenharmony_ci "LD_LIBRARY_PATH": "[START_DIR]/mesa_intel_driver_linux", 269cb93a386Sopenharmony_ci "LIBGL_DRIVERS_PATH": "[START_DIR]/mesa_intel_driver_linux", 270cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]", 271cb93a386Sopenharmony_ci "VK_ICD_FILENAMES": "[START_DIR]/mesa_intel_driver_linux/intel_icd.x86_64.json" 272cb93a386Sopenharmony_ci }, 273cb93a386Sopenharmony_ci "name": "symbolized dm (2)" 274cb93a386Sopenharmony_ci }, 275cb93a386Sopenharmony_ci { 276cb93a386Sopenharmony_ci "cmd": [ 277cb93a386Sopenharmony_ci "vpython", 278cb93a386Sopenharmony_ci "-u", 279cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 280cb93a386Sopenharmony_ci "--json-output", 281cb93a386Sopenharmony_ci "/path/to/tmp/json", 282cb93a386Sopenharmony_ci "copy", 283cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/3.json", 284cb93a386Sopenharmony_ci "/path/to/tmp/" 285cb93a386Sopenharmony_ci ], 286cb93a386Sopenharmony_ci "infra_step": true, 287cb93a386Sopenharmony_ci "name": "read [START_DIR]/[SWARM_OUT_DIR]/3.json", 288cb93a386Sopenharmony_ci "~followup_annotations": [ 289cb93a386Sopenharmony_ci "@@@STEP_LOG_END@3.json@@@" 290cb93a386Sopenharmony_ci ] 291cb93a386Sopenharmony_ci }, 292cb93a386Sopenharmony_ci { 293cb93a386Sopenharmony_ci "cmd": [ 294cb93a386Sopenharmony_ci "python", 295cb93a386Sopenharmony_ci "-u", 296cb93a386Sopenharmony_ci "\nimport json\nimport sys\n\ntrace_output = sys.argv[1]\ntrace_json = json.loads(trace_output)\nlottie_filename = sys.argv[2]\noutput_json_file = sys.argv[3]\n\nperf_results = {}\nframe_max = 0\nframe_min = 0\nframe_cumulative = 0\ncurrent_frame_duration = 0\ntotal_frames = 0\nframe_start = False\nfor trace in trace_json:\n if 'skottie::Animation::seek' in trace['name']:\n if frame_start:\n raise Exception('We got consecutive Animation::seek without a ' +\n 'render. Something is wrong.')\n frame_start = True\n current_frame_duration = trace['dur']\n elif 'skottie::Animation::render' in trace['name']:\n if not frame_start:\n raise Exception('We got an Animation::render without a seek first. ' +\n 'Something is wrong.')\n\n current_frame_duration += trace['dur']\n frame_start = False\n total_frames += 1\n frame_max = max(frame_max, current_frame_duration)\n frame_min = (min(frame_min, current_frame_duration)\n if frame_min else current_frame_duration)\n frame_cumulative += current_frame_duration\n\nexpected_dm_frames = 25\nif total_frames != expected_dm_frames:\n raise Exception(\n 'Got ' + str(total_frames) + ' frames instead of ' +\n str(expected_dm_frames))\nperf_results['frame_max_us'] = frame_max\nperf_results['frame_min_us'] = frame_min\nperf_results['frame_avg_us'] = frame_cumulative/total_frames\n\n# Write perf_results to the output json.\nwith open(output_json_file, 'w') as f:\n f.write(json.dumps(perf_results))\n", 297cb93a386Sopenharmony_ci "\n[{\"ph\":\"X\",\"name\":\"void skottie::Animation::seek(SkScalar)\",\"ts\":452,\"dur\":2.57,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void SkCanvas::drawPaint(const SkPaint &)\",\"ts\":473,\"dur\":2.67e+03,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::seek(SkScalar)\",\"ts\":3.15e+03,\"dur\":2.25,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::render(SkCanvas *, const SkRect *, RenderFlags) const\",\"ts\":3.15e+03,\"dur\":216,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void SkCanvas::drawPath(const SkPath &, const SkPaint &)\",\"ts\":3.35e+03,\"dur\":15.1,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::seek(SkScalar)\",\"ts\":3.37e+03,\"dur\":1.17,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::render(SkCanvas *, const SkRect *, RenderFlags) const\",\"ts\":3.37e+03,\"dur\":140,\"tid\":1,\"pid\":0}]\n", 298cb93a386Sopenharmony_ci "lottie(test)'!2.json", 299cb93a386Sopenharmony_ci "/path/to/tmp/json" 300cb93a386Sopenharmony_ci ], 301cb93a386Sopenharmony_ci "env": { 302cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 303cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 304cb93a386Sopenharmony_ci }, 305cb93a386Sopenharmony_ci "name": "parse lottie(test)'!2.json trace", 306cb93a386Sopenharmony_ci "~followup_annotations": [ 307cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@{@@@", 308cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@ \"frame_avg_us\": 179.71, @@@", 309cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@ \"frame_max_us\": 218.25, @@@", 310cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@ \"frame_min_us\": 141.17@@@", 311cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@}@@@", 312cb93a386Sopenharmony_ci "@@@STEP_LOG_END@json.output@@@", 313cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 314cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import json@@@", 315cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 316cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 317cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@trace_output = sys.argv[1]@@@", 318cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@trace_json = json.loads(trace_output)@@@", 319cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@lottie_filename = sys.argv[2]@@@", 320cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@output_json_file = sys.argv[3]@@@", 321cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 322cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results = {}@@@", 323cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_max = 0@@@", 324cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_min = 0@@@", 325cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_cumulative = 0@@@", 326cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@current_frame_duration = 0@@@", 327cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@total_frames = 0@@@", 328cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_start = False@@@", 329cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@for trace in trace_json:@@@", 330cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if 'skottie::Animation::seek' in trace['name']:@@@", 331cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if frame_start:@@@", 332cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('We got consecutive Animation::seek without a ' +@@@", 333cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'render. Something is wrong.')@@@", 334cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_start = True@@@", 335cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ current_frame_duration = trace['dur']@@@", 336cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ elif 'skottie::Animation::render' in trace['name']:@@@", 337cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if not frame_start:@@@", 338cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('We got an Animation::render without a seek first. ' +@@@", 339cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'Something is wrong.')@@@", 340cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 341cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ current_frame_duration += trace['dur']@@@", 342cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_start = False@@@", 343cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ total_frames += 1@@@", 344cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_max = max(frame_max, current_frame_duration)@@@", 345cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_min = (min(frame_min, current_frame_duration)@@@", 346cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if frame_min else current_frame_duration)@@@", 347cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_cumulative += current_frame_duration@@@", 348cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 349cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@expected_dm_frames = 25@@@", 350cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if total_frames != expected_dm_frames:@@@", 351cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception(@@@", 352cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'Got ' + str(total_frames) + ' frames instead of ' +@@@", 353cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ str(expected_dm_frames))@@@", 354cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results['frame_max_us'] = frame_max@@@", 355cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results['frame_min_us'] = frame_min@@@", 356cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results['frame_avg_us'] = frame_cumulative/total_frames@@@", 357cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 358cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Write perf_results to the output json.@@@", 359cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@with open(output_json_file, 'w') as f:@@@", 360cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ f.write(json.dumps(perf_results))@@@", 361cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 362cb93a386Sopenharmony_ci ] 363cb93a386Sopenharmony_ci }, 364cb93a386Sopenharmony_ci { 365cb93a386Sopenharmony_ci "cmd": [ 366cb93a386Sopenharmony_ci "vpython", 367cb93a386Sopenharmony_ci "-u", 368cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 369cb93a386Sopenharmony_ci "--json-output", 370cb93a386Sopenharmony_ci "/path/to/tmp/json", 371cb93a386Sopenharmony_ci "remove", 372cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/3.json" 373cb93a386Sopenharmony_ci ], 374cb93a386Sopenharmony_ci "infra_step": true, 375cb93a386Sopenharmony_ci "name": "remove [START_DIR]/[SWARM_OUT_DIR]/3.json" 376cb93a386Sopenharmony_ci }, 377cb93a386Sopenharmony_ci { 378cb93a386Sopenharmony_ci "cmd": [ 379cb93a386Sopenharmony_ci "python", 380cb93a386Sopenharmony_ci "-u", 381cb93a386Sopenharmony_ci "RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py", 382cb93a386Sopenharmony_ci "[START_DIR]", 383cb93a386Sopenharmony_ci "catchsegv", 384cb93a386Sopenharmony_ci "[START_DIR]/build/dm", 385cb93a386Sopenharmony_ci "--resourcePath", 386cb93a386Sopenharmony_ci "[START_DIR]/skia/resources", 387cb93a386Sopenharmony_ci "--lotties", 388cb93a386Sopenharmony_ci "[START_DIR]/lottie-samples", 389cb93a386Sopenharmony_ci "--src", 390cb93a386Sopenharmony_ci "lottie", 391cb93a386Sopenharmony_ci "--nonativeFonts", 392cb93a386Sopenharmony_ci "--verbose", 393cb93a386Sopenharmony_ci "--traceMatch", 394cb93a386Sopenharmony_ci "skottie", 395cb93a386Sopenharmony_ci "--trace", 396cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/4.json", 397cb93a386Sopenharmony_ci "--match", 398cb93a386Sopenharmony_ci "^lottie1.json$", 399cb93a386Sopenharmony_ci "--config", 400cb93a386Sopenharmony_ci "gles", 401cb93a386Sopenharmony_ci "--nocpu" 402cb93a386Sopenharmony_ci ], 403cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 404cb93a386Sopenharmony_ci "env": { 405cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 406cb93a386Sopenharmony_ci "LD_LIBRARY_PATH": "[START_DIR]/mesa_intel_driver_linux", 407cb93a386Sopenharmony_ci "LIBGL_DRIVERS_PATH": "[START_DIR]/mesa_intel_driver_linux", 408cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]", 409cb93a386Sopenharmony_ci "VK_ICD_FILENAMES": "[START_DIR]/mesa_intel_driver_linux/intel_icd.x86_64.json" 410cb93a386Sopenharmony_ci }, 411cb93a386Sopenharmony_ci "name": "symbolized dm (3)" 412cb93a386Sopenharmony_ci }, 413cb93a386Sopenharmony_ci { 414cb93a386Sopenharmony_ci "cmd": [ 415cb93a386Sopenharmony_ci "vpython", 416cb93a386Sopenharmony_ci "-u", 417cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 418cb93a386Sopenharmony_ci "--json-output", 419cb93a386Sopenharmony_ci "/path/to/tmp/json", 420cb93a386Sopenharmony_ci "copy", 421cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/4.json", 422cb93a386Sopenharmony_ci "/path/to/tmp/" 423cb93a386Sopenharmony_ci ], 424cb93a386Sopenharmony_ci "infra_step": true, 425cb93a386Sopenharmony_ci "name": "read [START_DIR]/[SWARM_OUT_DIR]/4.json", 426cb93a386Sopenharmony_ci "~followup_annotations": [ 427cb93a386Sopenharmony_ci "@@@STEP_LOG_END@4.json@@@" 428cb93a386Sopenharmony_ci ] 429cb93a386Sopenharmony_ci }, 430cb93a386Sopenharmony_ci { 431cb93a386Sopenharmony_ci "cmd": [ 432cb93a386Sopenharmony_ci "python", 433cb93a386Sopenharmony_ci "-u", 434cb93a386Sopenharmony_ci "\nimport json\nimport sys\n\ntrace_output = sys.argv[1]\ntrace_json = json.loads(trace_output)\nlottie_filename = sys.argv[2]\noutput_json_file = sys.argv[3]\n\nperf_results = {}\nframe_max = 0\nframe_min = 0\nframe_cumulative = 0\ncurrent_frame_duration = 0\ntotal_frames = 0\nframe_start = False\nfor trace in trace_json:\n if 'skottie::Animation::seek' in trace['name']:\n if frame_start:\n raise Exception('We got consecutive Animation::seek without a ' +\n 'render. Something is wrong.')\n frame_start = True\n current_frame_duration = trace['dur']\n elif 'skottie::Animation::render' in trace['name']:\n if not frame_start:\n raise Exception('We got an Animation::render without a seek first. ' +\n 'Something is wrong.')\n\n current_frame_duration += trace['dur']\n frame_start = False\n total_frames += 1\n frame_max = max(frame_max, current_frame_duration)\n frame_min = (min(frame_min, current_frame_duration)\n if frame_min else current_frame_duration)\n frame_cumulative += current_frame_duration\n\nexpected_dm_frames = 25\nif total_frames != expected_dm_frames:\n raise Exception(\n 'Got ' + str(total_frames) + ' frames instead of ' +\n str(expected_dm_frames))\nperf_results['frame_max_us'] = frame_max\nperf_results['frame_min_us'] = frame_min\nperf_results['frame_avg_us'] = frame_cumulative/total_frames\n\n# Write perf_results to the output json.\nwith open(output_json_file, 'w') as f:\n f.write(json.dumps(perf_results))\n", 435cb93a386Sopenharmony_ci "\n[{\"ph\":\"X\",\"name\":\"void skottie::Animation::seek(SkScalar)\",\"ts\":452,\"dur\":2.57,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void SkCanvas::drawPaint(const SkPaint &)\",\"ts\":473,\"dur\":2.67e+03,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::seek(SkScalar)\",\"ts\":3.15e+03,\"dur\":2.25,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::render(SkCanvas *, const SkRect *, RenderFlags) const\",\"ts\":3.15e+03,\"dur\":216,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void SkCanvas::drawPath(const SkPath &, const SkPaint &)\",\"ts\":3.35e+03,\"dur\":15.1,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::seek(SkScalar)\",\"ts\":3.37e+03,\"dur\":1.17,\"tid\":1,\"pid\":0},{\"ph\":\"X\",\"name\":\"void skottie::Animation::render(SkCanvas *, const SkRect *, RenderFlags) const\",\"ts\":3.37e+03,\"dur\":140,\"tid\":1,\"pid\":0}]\n", 436cb93a386Sopenharmony_ci "lottie1.json", 437cb93a386Sopenharmony_ci "/path/to/tmp/json" 438cb93a386Sopenharmony_ci ], 439cb93a386Sopenharmony_ci "env": { 440cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 441cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 442cb93a386Sopenharmony_ci }, 443cb93a386Sopenharmony_ci "name": "parse lottie1.json trace", 444cb93a386Sopenharmony_ci "~followup_annotations": [ 445cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@{@@@", 446cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@ \"frame_avg_us\": 179.71, @@@", 447cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@ \"frame_max_us\": 218.25, @@@", 448cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@ \"frame_min_us\": 141.17@@@", 449cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@json.output@}@@@", 450cb93a386Sopenharmony_ci "@@@STEP_LOG_END@json.output@@@", 451cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 452cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import json@@@", 453cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 454cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 455cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@trace_output = sys.argv[1]@@@", 456cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@trace_json = json.loads(trace_output)@@@", 457cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@lottie_filename = sys.argv[2]@@@", 458cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@output_json_file = sys.argv[3]@@@", 459cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 460cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results = {}@@@", 461cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_max = 0@@@", 462cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_min = 0@@@", 463cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_cumulative = 0@@@", 464cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@current_frame_duration = 0@@@", 465cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@total_frames = 0@@@", 466cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@frame_start = False@@@", 467cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@for trace in trace_json:@@@", 468cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if 'skottie::Animation::seek' in trace['name']:@@@", 469cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if frame_start:@@@", 470cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('We got consecutive Animation::seek without a ' +@@@", 471cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'render. Something is wrong.')@@@", 472cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_start = True@@@", 473cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ current_frame_duration = trace['dur']@@@", 474cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ elif 'skottie::Animation::render' in trace['name']:@@@", 475cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if not frame_start:@@@", 476cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('We got an Animation::render without a seek first. ' +@@@", 477cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'Something is wrong.')@@@", 478cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 479cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ current_frame_duration += trace['dur']@@@", 480cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_start = False@@@", 481cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ total_frames += 1@@@", 482cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_max = max(frame_max, current_frame_duration)@@@", 483cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_min = (min(frame_min, current_frame_duration)@@@", 484cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if frame_min else current_frame_duration)@@@", 485cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ frame_cumulative += current_frame_duration@@@", 486cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 487cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@expected_dm_frames = 25@@@", 488cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if total_frames != expected_dm_frames:@@@", 489cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception(@@@", 490cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'Got ' + str(total_frames) + ' frames instead of ' +@@@", 491cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ str(expected_dm_frames))@@@", 492cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results['frame_max_us'] = frame_max@@@", 493cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results['frame_min_us'] = frame_min@@@", 494cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@perf_results['frame_avg_us'] = frame_cumulative/total_frames@@@", 495cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 496cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Write perf_results to the output json.@@@", 497cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@with open(output_json_file, 'w') as f:@@@", 498cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ f.write(json.dumps(perf_results))@@@", 499cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 500cb93a386Sopenharmony_ci ] 501cb93a386Sopenharmony_ci }, 502cb93a386Sopenharmony_ci { 503cb93a386Sopenharmony_ci "cmd": [ 504cb93a386Sopenharmony_ci "vpython", 505cb93a386Sopenharmony_ci "-u", 506cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 507cb93a386Sopenharmony_ci "--json-output", 508cb93a386Sopenharmony_ci "/path/to/tmp/json", 509cb93a386Sopenharmony_ci "remove", 510cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/4.json" 511cb93a386Sopenharmony_ci ], 512cb93a386Sopenharmony_ci "infra_step": true, 513cb93a386Sopenharmony_ci "name": "remove [START_DIR]/[SWARM_OUT_DIR]/4.json" 514cb93a386Sopenharmony_ci }, 515cb93a386Sopenharmony_ci { 516cb93a386Sopenharmony_ci "cmd": [ 517cb93a386Sopenharmony_ci "python", 518cb93a386Sopenharmony_ci "-u", 519cb93a386Sopenharmony_ci "import os\nprint(os.environ.get('SWARMING_BOT_ID', ''))\n" 520cb93a386Sopenharmony_ci ], 521cb93a386Sopenharmony_ci "name": "get swarming bot id", 522cb93a386Sopenharmony_ci "~followup_annotations": [ 523cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 524cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_BOT_ID', ''))@@@", 525cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 526cb93a386Sopenharmony_ci ] 527cb93a386Sopenharmony_ci }, 528cb93a386Sopenharmony_ci { 529cb93a386Sopenharmony_ci "cmd": [ 530cb93a386Sopenharmony_ci "python", 531cb93a386Sopenharmony_ci "-u", 532cb93a386Sopenharmony_ci "import os\nprint(os.environ.get('SWARMING_TASK_ID', ''))\n" 533cb93a386Sopenharmony_ci ], 534cb93a386Sopenharmony_ci "name": "get swarming task id", 535cb93a386Sopenharmony_ci "~followup_annotations": [ 536cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 537cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_TASK_ID', ''))@@@", 538cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 539cb93a386Sopenharmony_ci ] 540cb93a386Sopenharmony_ci }, 541cb93a386Sopenharmony_ci { 542cb93a386Sopenharmony_ci "cmd": [ 543cb93a386Sopenharmony_ci "vpython", 544cb93a386Sopenharmony_ci "-u", 545cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 546cb93a386Sopenharmony_ci "--json-output", 547cb93a386Sopenharmony_ci "/path/to/tmp/json", 548cb93a386Sopenharmony_ci "ensure-directory", 549cb93a386Sopenharmony_ci "--mode", 550cb93a386Sopenharmony_ci "0777", 551cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]" 552cb93a386Sopenharmony_ci ], 553cb93a386Sopenharmony_ci "infra_step": true, 554cb93a386Sopenharmony_ci "name": "makedirs perf_dir" 555cb93a386Sopenharmony_ci }, 556cb93a386Sopenharmony_ci { 557cb93a386Sopenharmony_ci "cmd": [ 558cb93a386Sopenharmony_ci "vpython", 559cb93a386Sopenharmony_ci "-u", 560cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 561cb93a386Sopenharmony_ci "--json-output", 562cb93a386Sopenharmony_ci "/path/to/tmp/json", 563cb93a386Sopenharmony_ci "copy", 564cb93a386Sopenharmony_ci "{\n \"gitHash\": \"abc123\",\n \"key\": {\n \"arch\": \"x86_64\",\n \"bench_type\": \"tracing\",\n \"compiler\": \"Clang\",\n \"configuration\": \"Release\",\n \"cpu_or_gpu\": \"GPU\",\n \"cpu_or_gpu_value\": \"IntelIris640\",\n \"extra_config\": \"SkottieTracing\",\n \"model\": \"NUC7i5BNK\",\n \"os\": \"Debian10\",\n \"source_type\": \"skottie\"\n },\n \"renderer\": \"skottie\",\n \"results\": {\n \"lottie 3!.json\": {\n \"gles\": {\n \"frame_avg_us\": 179.71,\n \"frame_max_us\": 218.25,\n \"frame_min_us\": 141.17\n }\n },\n \"lottie(test)'!2.json\": {\n \"gles\": {\n \"frame_avg_us\": 179.71,\n \"frame_max_us\": 218.25,\n \"frame_min_us\": 141.17\n }\n },\n \"lottie1.json\": {\n \"gles\": {\n \"frame_avg_us\": 179.71,\n \"frame_max_us\": 218.25,\n \"frame_min_us\": 141.17\n }\n }\n },\n \"swarming_bot_id\": \"\",\n \"swarming_task_id\": \"\"\n}", 565cb93a386Sopenharmony_ci "[START_DIR]/[SWARM_OUT_DIR]/perf_abc123_1337000001.json" 566cb93a386Sopenharmony_ci ], 567cb93a386Sopenharmony_ci "infra_step": true, 568cb93a386Sopenharmony_ci "name": "write output JSON", 569cb93a386Sopenharmony_ci "~followup_annotations": [ 570cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@{@@@", 571cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"gitHash\": \"abc123\",@@@", 572cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"key\": {@@@", 573cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"arch\": \"x86_64\",@@@", 574cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"bench_type\": \"tracing\",@@@", 575cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"compiler\": \"Clang\",@@@", 576cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"configuration\": \"Release\",@@@", 577cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"cpu_or_gpu\": \"GPU\",@@@", 578cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"cpu_or_gpu_value\": \"IntelIris640\",@@@", 579cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"extra_config\": \"SkottieTracing\",@@@", 580cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"model\": \"NUC7i5BNK\",@@@", 581cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"os\": \"Debian10\",@@@", 582cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"source_type\": \"skottie\"@@@", 583cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ },@@@", 584cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"renderer\": \"skottie\",@@@", 585cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"results\": {@@@", 586cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"lottie 3!.json\": {@@@", 587cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"gles\": {@@@", 588cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"frame_avg_us\": 179.71,@@@", 589cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"frame_max_us\": 218.25,@@@", 590cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"frame_min_us\": 141.17@@@", 591cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ }@@@", 592cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ },@@@", 593cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"lottie(test)'!2.json\": {@@@", 594cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"gles\": {@@@", 595cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"frame_avg_us\": 179.71,@@@", 596cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"frame_max_us\": 218.25,@@@", 597cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"frame_min_us\": 141.17@@@", 598cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ }@@@", 599cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ },@@@", 600cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"lottie1.json\": {@@@", 601cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"gles\": {@@@", 602cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"frame_avg_us\": 179.71,@@@", 603cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"frame_max_us\": 218.25,@@@", 604cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"frame_min_us\": 141.17@@@", 605cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ }@@@", 606cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ }@@@", 607cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ },@@@", 608cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"swarming_bot_id\": \"\",@@@", 609cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@ \"swarming_task_id\": \"\"@@@", 610cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@perf_abc123_1337000001.json@}@@@", 611cb93a386Sopenharmony_ci "@@@STEP_LOG_END@perf_abc123_1337000001.json@@@" 612cb93a386Sopenharmony_ci ] 613cb93a386Sopenharmony_ci }, 614cb93a386Sopenharmony_ci { 615cb93a386Sopenharmony_ci "name": "$result" 616cb93a386Sopenharmony_ci } 617cb93a386Sopenharmony_ci]