[
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "listdir",
      "[START_DIR]/lottie-samples"
    ],
    "infra_step": true,
    "name": "list lottie files",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/LICENSE@@@",
      "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/lottie1.json@@@",
      "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/lottie2.json@@@",
      "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/lottie3.json@@@",
      "@@@STEP_LOG_END@listdir@@@"
    ]
  },
  {
    "cmd": [
      "npm",
      "install"
    ],
    "cwd": "[START_DIR]/skia/tools/lottie-web-perf",
    "env_prefixes": {
      "PATH": [
        "[START_DIR]/node/node/bin"
      ]
    },
    "name": "npm install"
  },
  {
    "cmd": [
      "[START_DIR]/node/node/bin/node",
      "[START_DIR]/skia/tools/lottie-web-perf/lottie-web-perf.js",
      "--backend",
      "canvas",
      "--input",
      "[START_DIR]/lottie-samples/lottie1.json",
      "--output",
      "[CLEANUP]/g3_try_tmp_1/lottie1.json"
    ],
    "cwd": "[START_DIR]/skia/tools/lottie-web-perf",
    "env": {
      "CHROME_HEADLESS": "1",
      "DISPLAY": ":0",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Run perf cmd line app"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport json\nimport sys\n\ntrace_output = sys.argv[1]\nwith open(trace_output, 'r') as f:\n  trace_json = json.load(f)\noutput_json_file = sys.argv[2]\nrenderer = sys.argv[3]  # Unused for now but might be useful in the future.\n\n# Output data about the GPU that was used.\nprint 'GPU data:'\nprint trace_json['metadata'].get('gpu-gl-renderer')\nprint trace_json['metadata'].get('gpu-driver')\nprint trace_json['metadata'].get('gpu-gl-vendor')\n\nerroneous_termination_statuses = [\n    'replaced_by_new_reporter_at_same_stage',\n    'did_not_produce_frame',\n]\naccepted_termination_statuses = [\n    'missed_frame',\n    'submitted_frame',\n    'main_frame_aborted'\n]\n\ncurrent_frame_duration = 0\ntotal_frames = 0\nframe_id_to_start_ts = {}\n# Will contain tuples of frame_ids and their duration and status.\ncompleted_frame_id_and_duration_status = []\n# Will contain tuples of drawn frame_ids and their duration.\ndrawn_frame_id_and_duration = []\nfor trace in trace_json['traceEvents']:\n  if 'PipelineReporter' in trace['name']:\n    frame_id = trace['id']\n    args = trace.get('args')\n    if args and args.get('step') == 'BeginImplFrameToSendBeginMainFrame':\n      frame_id_to_start_ts[frame_id] = trace['ts']\n    elif args and (args.get('termination_status') in\n                   accepted_termination_statuses):\n      if not frame_id_to_start_ts.get(frame_id):\n        print '[No start ts found for %s]' % frame_id\n        continue\n      current_frame_duration = trace['ts'] - frame_id_to_start_ts[frame_id]\n      total_frames += 1\n      completed_frame_id_and_duration_status.append(\n          (frame_id, current_frame_duration, args['termination_status']))\n      if(args['termination_status'] == 'missed_frame' or\n       args['termination_status'] == 'submitted_frame'):\n        drawn_frame_id_and_duration.append((frame_id, current_frame_duration))\n\n      # We are done with this frame_id so remove it from the dict.\n      frame_id_to_start_ts.pop(frame_id)\n      print '%d (%s with %s): %d' % (\n          total_frames, frame_id, args['termination_status'],\n          current_frame_duration)\n    elif args and (args.get('termination_status') in\n                   erroneous_termination_statuses):\n      # Invalidate previously collected results for this frame_id.\n      if frame_id_to_start_ts.get(frame_id):\n        print '[Invalidating %s due to %s]' % (\n            frame_id, args['termination_status'])\n        frame_id_to_start_ts.pop(frame_id)\n\n# Calculate metrics for total completed frames.\ntotal_completed_frames = len(completed_frame_id_and_duration_status)\nif total_completed_frames < 25:\n  raise Exception('Even with 3 loops found only %d frames' %\n                  total_completed_frames)\n# Get frame avg/min/max for the middle 25 frames.\nstart = (total_completed_frames - 25)/2\nprint 'Got %d total completed frames. Using indexes [%d, %d).' % (\n    total_completed_frames, start, start+25)\nframe_max = 0\nframe_min = 0\nframe_cumulative = 0\naborted_frames = 0\nfor frame_id, duration, status in (\n    completed_frame_id_and_duration_status[start:start+25]):\n  frame_max = max(frame_max, duration)\n  frame_min = min(frame_min, duration) if frame_min else duration\n  frame_cumulative += duration\n  if status == 'main_frame_aborted':\n    aborted_frames += 1\n\nperf_results = {}\nperf_results['frame_max_us'] = frame_max\nperf_results['frame_min_us'] = frame_min\nperf_results['frame_avg_us'] = frame_cumulative/25\nperf_results['aborted_frames'] = aborted_frames\n\n# Now calculate metrics for only drawn frames.\ndrawn_frame_max = 0\ndrawn_frame_min = 0\ndrawn_frame_cumulative = 0\ntotal_drawn_frames = len(drawn_frame_id_and_duration)\nif total_drawn_frames < 25:\n  raise Exception('Even with 3 loops found only %d drawn frames' %\n                  total_drawn_frames)\n# Get drawn frame avg/min/max from the middle 25 frames.\nstart = (total_drawn_frames - 25)/2\nprint 'Got %d total drawn frames. Using indexes [%d-%d).' % (\n      total_drawn_frames, start, start+25)\nfor frame_id, duration in drawn_frame_id_and_duration[start:start+25]:\n  drawn_frame_max = max(drawn_frame_max, duration)\n  drawn_frame_min = (min(drawn_frame_min, duration)\n                     if drawn_frame_min else duration)\n  drawn_frame_cumulative += duration\n# Add metrics to perf_results.\nperf_results['drawn_frame_max_us'] = drawn_frame_max\nperf_results['drawn_frame_min_us'] = drawn_frame_min\nperf_results['drawn_frame_avg_us'] = drawn_frame_cumulative/25\n\nprint 'Final perf_results dict: %s' % perf_results\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",
      "[CLEANUP]/g3_try_tmp_1/lottie1.json",
      "/path/to/tmp/json",
      "lottie-web"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "name": "parse lottie1.json trace",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"frame_avg_us\": 179.71, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"frame_max_us\": 218.25, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"frame_min_us\": 141.17@@@",
      "@@@STEP_LOG_LINE@json.output@}@@@",
      "@@@STEP_LOG_END@json.output@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@import json@@@",
      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@trace_output = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@with open(trace_output, 'r') as f:@@@",
      "@@@STEP_LOG_LINE@python.inline@  trace_json = json.load(f)@@@",
      "@@@STEP_LOG_LINE@python.inline@output_json_file = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@renderer = sys.argv[3]  # Unused for now but might be useful in the future.@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Output data about the GPU that was used.@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'GPU data:'@@@",
      "@@@STEP_LOG_LINE@python.inline@print trace_json['metadata'].get('gpu-gl-renderer')@@@",
      "@@@STEP_LOG_LINE@python.inline@print trace_json['metadata'].get('gpu-driver')@@@",
      "@@@STEP_LOG_LINE@python.inline@print trace_json['metadata'].get('gpu-gl-vendor')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@erroneous_termination_statuses = [@@@",
      "@@@STEP_LOG_LINE@python.inline@    'replaced_by_new_reporter_at_same_stage',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'did_not_produce_frame',@@@",
      "@@@STEP_LOG_LINE@python.inline@]@@@",
      "@@@STEP_LOG_LINE@python.inline@accepted_termination_statuses = [@@@",
      "@@@STEP_LOG_LINE@python.inline@    'missed_frame',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'submitted_frame',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'main_frame_aborted'@@@",
      "@@@STEP_LOG_LINE@python.inline@]@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@current_frame_duration = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@total_frames = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_id_to_start_ts = {}@@@",
      "@@@STEP_LOG_LINE@python.inline@# Will contain tuples of frame_ids and their duration and status.@@@",
      "@@@STEP_LOG_LINE@python.inline@completed_frame_id_and_duration_status = []@@@",
      "@@@STEP_LOG_LINE@python.inline@# Will contain tuples of drawn frame_ids and their duration.@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_id_and_duration = []@@@",
      "@@@STEP_LOG_LINE@python.inline@for trace in trace_json['traceEvents']:@@@",
      "@@@STEP_LOG_LINE@python.inline@  if 'PipelineReporter' in trace['name']:@@@",
      "@@@STEP_LOG_LINE@python.inline@    frame_id = trace['id']@@@",
      "@@@STEP_LOG_LINE@python.inline@    args = trace.get('args')@@@",
      "@@@STEP_LOG_LINE@python.inline@    if args and args.get('step') == 'BeginImplFrameToSendBeginMainFrame':@@@",
      "@@@STEP_LOG_LINE@python.inline@      frame_id_to_start_ts[frame_id] = trace['ts']@@@",
      "@@@STEP_LOG_LINE@python.inline@    elif args and (args.get('termination_status') in@@@",
      "@@@STEP_LOG_LINE@python.inline@                   accepted_termination_statuses):@@@",
      "@@@STEP_LOG_LINE@python.inline@      if not frame_id_to_start_ts.get(frame_id):@@@",
      "@@@STEP_LOG_LINE@python.inline@        print '[No start ts found for %s]' % frame_id@@@",
      "@@@STEP_LOG_LINE@python.inline@        continue@@@",
      "@@@STEP_LOG_LINE@python.inline@      current_frame_duration = trace['ts'] - frame_id_to_start_ts[frame_id]@@@",
      "@@@STEP_LOG_LINE@python.inline@      total_frames += 1@@@",
      "@@@STEP_LOG_LINE@python.inline@      completed_frame_id_and_duration_status.append(@@@",
      "@@@STEP_LOG_LINE@python.inline@          (frame_id, current_frame_duration, args['termination_status']))@@@",
      "@@@STEP_LOG_LINE@python.inline@      if(args['termination_status'] == 'missed_frame' or@@@",
      "@@@STEP_LOG_LINE@python.inline@       args['termination_status'] == 'submitted_frame'):@@@",
      "@@@STEP_LOG_LINE@python.inline@        drawn_frame_id_and_duration.append((frame_id, current_frame_duration))@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@      # We are done with this frame_id so remove it from the dict.@@@",
      "@@@STEP_LOG_LINE@python.inline@      frame_id_to_start_ts.pop(frame_id)@@@",
      "@@@STEP_LOG_LINE@python.inline@      print '%d (%s with %s): %d' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@          total_frames, frame_id, args['termination_status'],@@@",
      "@@@STEP_LOG_LINE@python.inline@          current_frame_duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@    elif args and (args.get('termination_status') in@@@",
      "@@@STEP_LOG_LINE@python.inline@                   erroneous_termination_statuses):@@@",
      "@@@STEP_LOG_LINE@python.inline@      # Invalidate previously collected results for this frame_id.@@@",
      "@@@STEP_LOG_LINE@python.inline@      if frame_id_to_start_ts.get(frame_id):@@@",
      "@@@STEP_LOG_LINE@python.inline@        print '[Invalidating %s due to %s]' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@            frame_id, args['termination_status'])@@@",
      "@@@STEP_LOG_LINE@python.inline@        frame_id_to_start_ts.pop(frame_id)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Calculate metrics for total completed frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@total_completed_frames = len(completed_frame_id_and_duration_status)@@@",
      "@@@STEP_LOG_LINE@python.inline@if total_completed_frames < 25:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Even with 3 loops found only %d frames' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  total_completed_frames)@@@",
      "@@@STEP_LOG_LINE@python.inline@# Get frame avg/min/max for the middle 25 frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@start = (total_completed_frames - 25)/2@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Got %d total completed frames. Using indexes [%d, %d).' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@    total_completed_frames, start, start+25)@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_max = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_min = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_cumulative = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@aborted_frames = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@for frame_id, duration, status in (@@@",
      "@@@STEP_LOG_LINE@python.inline@    completed_frame_id_and_duration_status[start:start+25]):@@@",
      "@@@STEP_LOG_LINE@python.inline@  frame_max = max(frame_max, duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@  frame_min = min(frame_min, duration) if frame_min else duration@@@",
      "@@@STEP_LOG_LINE@python.inline@  frame_cumulative += duration@@@",
      "@@@STEP_LOG_LINE@python.inline@  if status == 'main_frame_aborted':@@@",
      "@@@STEP_LOG_LINE@python.inline@    aborted_frames += 1@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results = {}@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['frame_max_us'] = frame_max@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['frame_min_us'] = frame_min@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['frame_avg_us'] = frame_cumulative/25@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['aborted_frames'] = aborted_frames@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Now calculate metrics for only drawn frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_max = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_min = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_cumulative = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@total_drawn_frames = len(drawn_frame_id_and_duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@if total_drawn_frames < 25:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Even with 3 loops found only %d drawn frames' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  total_drawn_frames)@@@",
      "@@@STEP_LOG_LINE@python.inline@# Get drawn frame avg/min/max from the middle 25 frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@start = (total_drawn_frames - 25)/2@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Got %d total drawn frames. Using indexes [%d-%d).' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@      total_drawn_frames, start, start+25)@@@",
      "@@@STEP_LOG_LINE@python.inline@for frame_id, duration in drawn_frame_id_and_duration[start:start+25]:@@@",
      "@@@STEP_LOG_LINE@python.inline@  drawn_frame_max = max(drawn_frame_max, duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@  drawn_frame_min = (min(drawn_frame_min, duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@                     if drawn_frame_min else duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@  drawn_frame_cumulative += duration@@@",
      "@@@STEP_LOG_LINE@python.inline@# Add metrics to perf_results.@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['drawn_frame_max_us'] = drawn_frame_max@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['drawn_frame_min_us'] = drawn_frame_min@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['drawn_frame_avg_us'] = drawn_frame_cumulative/25@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Final perf_results dict: %s' % perf_results@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Write perf_results to the output json.@@@",
      "@@@STEP_LOG_LINE@python.inline@with open(output_json_file, 'w') as f:@@@",
      "@@@STEP_LOG_LINE@python.inline@  f.write(json.dumps(perf_results))@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "[START_DIR]/node/node/bin/node",
      "[START_DIR]/skia/tools/lottie-web-perf/lottie-web-perf.js",
      "--backend",
      "canvas",
      "--input",
      "[START_DIR]/lottie-samples/lottie2.json",
      "--output",
      "[CLEANUP]/g3_try_tmp_1/lottie2.json"
    ],
    "cwd": "[START_DIR]/skia/tools/lottie-web-perf",
    "env": {
      "CHROME_HEADLESS": "1",
      "DISPLAY": ":0",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Run perf cmd line app (2)"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport json\nimport sys\n\ntrace_output = sys.argv[1]\nwith open(trace_output, 'r') as f:\n  trace_json = json.load(f)\noutput_json_file = sys.argv[2]\nrenderer = sys.argv[3]  # Unused for now but might be useful in the future.\n\n# Output data about the GPU that was used.\nprint 'GPU data:'\nprint trace_json['metadata'].get('gpu-gl-renderer')\nprint trace_json['metadata'].get('gpu-driver')\nprint trace_json['metadata'].get('gpu-gl-vendor')\n\nerroneous_termination_statuses = [\n    'replaced_by_new_reporter_at_same_stage',\n    'did_not_produce_frame',\n]\naccepted_termination_statuses = [\n    'missed_frame',\n    'submitted_frame',\n    'main_frame_aborted'\n]\n\ncurrent_frame_duration = 0\ntotal_frames = 0\nframe_id_to_start_ts = {}\n# Will contain tuples of frame_ids and their duration and status.\ncompleted_frame_id_and_duration_status = []\n# Will contain tuples of drawn frame_ids and their duration.\ndrawn_frame_id_and_duration = []\nfor trace in trace_json['traceEvents']:\n  if 'PipelineReporter' in trace['name']:\n    frame_id = trace['id']\n    args = trace.get('args')\n    if args and args.get('step') == 'BeginImplFrameToSendBeginMainFrame':\n      frame_id_to_start_ts[frame_id] = trace['ts']\n    elif args and (args.get('termination_status') in\n                   accepted_termination_statuses):\n      if not frame_id_to_start_ts.get(frame_id):\n        print '[No start ts found for %s]' % frame_id\n        continue\n      current_frame_duration = trace['ts'] - frame_id_to_start_ts[frame_id]\n      total_frames += 1\n      completed_frame_id_and_duration_status.append(\n          (frame_id, current_frame_duration, args['termination_status']))\n      if(args['termination_status'] == 'missed_frame' or\n       args['termination_status'] == 'submitted_frame'):\n        drawn_frame_id_and_duration.append((frame_id, current_frame_duration))\n\n      # We are done with this frame_id so remove it from the dict.\n      frame_id_to_start_ts.pop(frame_id)\n      print '%d (%s with %s): %d' % (\n          total_frames, frame_id, args['termination_status'],\n          current_frame_duration)\n    elif args and (args.get('termination_status') in\n                   erroneous_termination_statuses):\n      # Invalidate previously collected results for this frame_id.\n      if frame_id_to_start_ts.get(frame_id):\n        print '[Invalidating %s due to %s]' % (\n            frame_id, args['termination_status'])\n        frame_id_to_start_ts.pop(frame_id)\n\n# Calculate metrics for total completed frames.\ntotal_completed_frames = len(completed_frame_id_and_duration_status)\nif total_completed_frames < 25:\n  raise Exception('Even with 3 loops found only %d frames' %\n                  total_completed_frames)\n# Get frame avg/min/max for the middle 25 frames.\nstart = (total_completed_frames - 25)/2\nprint 'Got %d total completed frames. Using indexes [%d, %d).' % (\n    total_completed_frames, start, start+25)\nframe_max = 0\nframe_min = 0\nframe_cumulative = 0\naborted_frames = 0\nfor frame_id, duration, status in (\n    completed_frame_id_and_duration_status[start:start+25]):\n  frame_max = max(frame_max, duration)\n  frame_min = min(frame_min, duration) if frame_min else duration\n  frame_cumulative += duration\n  if status == 'main_frame_aborted':\n    aborted_frames += 1\n\nperf_results = {}\nperf_results['frame_max_us'] = frame_max\nperf_results['frame_min_us'] = frame_min\nperf_results['frame_avg_us'] = frame_cumulative/25\nperf_results['aborted_frames'] = aborted_frames\n\n# Now calculate metrics for only drawn frames.\ndrawn_frame_max = 0\ndrawn_frame_min = 0\ndrawn_frame_cumulative = 0\ntotal_drawn_frames = len(drawn_frame_id_and_duration)\nif total_drawn_frames < 25:\n  raise Exception('Even with 3 loops found only %d drawn frames' %\n                  total_drawn_frames)\n# Get drawn frame avg/min/max from the middle 25 frames.\nstart = (total_drawn_frames - 25)/2\nprint 'Got %d total drawn frames. Using indexes [%d-%d).' % (\n      total_drawn_frames, start, start+25)\nfor frame_id, duration in drawn_frame_id_and_duration[start:start+25]:\n  drawn_frame_max = max(drawn_frame_max, duration)\n  drawn_frame_min = (min(drawn_frame_min, duration)\n                     if drawn_frame_min else duration)\n  drawn_frame_cumulative += duration\n# Add metrics to perf_results.\nperf_results['drawn_frame_max_us'] = drawn_frame_max\nperf_results['drawn_frame_min_us'] = drawn_frame_min\nperf_results['drawn_frame_avg_us'] = drawn_frame_cumulative/25\n\nprint 'Final perf_results dict: %s' % perf_results\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",
      "[CLEANUP]/g3_try_tmp_1/lottie2.json",
      "/path/to/tmp/json",
      "lottie-web"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "name": "parse lottie2.json trace",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"frame_avg_us\": 179.71, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"frame_max_us\": 218.25, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"frame_min_us\": 141.17@@@",
      "@@@STEP_LOG_LINE@json.output@}@@@",
      "@@@STEP_LOG_END@json.output@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@import json@@@",
      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@trace_output = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@with open(trace_output, 'r') as f:@@@",
      "@@@STEP_LOG_LINE@python.inline@  trace_json = json.load(f)@@@",
      "@@@STEP_LOG_LINE@python.inline@output_json_file = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@renderer = sys.argv[3]  # Unused for now but might be useful in the future.@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Output data about the GPU that was used.@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'GPU data:'@@@",
      "@@@STEP_LOG_LINE@python.inline@print trace_json['metadata'].get('gpu-gl-renderer')@@@",
      "@@@STEP_LOG_LINE@python.inline@print trace_json['metadata'].get('gpu-driver')@@@",
      "@@@STEP_LOG_LINE@python.inline@print trace_json['metadata'].get('gpu-gl-vendor')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@erroneous_termination_statuses = [@@@",
      "@@@STEP_LOG_LINE@python.inline@    'replaced_by_new_reporter_at_same_stage',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'did_not_produce_frame',@@@",
      "@@@STEP_LOG_LINE@python.inline@]@@@",
      "@@@STEP_LOG_LINE@python.inline@accepted_termination_statuses = [@@@",
      "@@@STEP_LOG_LINE@python.inline@    'missed_frame',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'submitted_frame',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'main_frame_aborted'@@@",
      "@@@STEP_LOG_LINE@python.inline@]@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@current_frame_duration = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@total_frames = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_id_to_start_ts = {}@@@",
      "@@@STEP_LOG_LINE@python.inline@# Will contain tuples of frame_ids and their duration and status.@@@",
      "@@@STEP_LOG_LINE@python.inline@completed_frame_id_and_duration_status = []@@@",
      "@@@STEP_LOG_LINE@python.inline@# Will contain tuples of drawn frame_ids and their duration.@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_id_and_duration = []@@@",
      "@@@STEP_LOG_LINE@python.inline@for trace in trace_json['traceEvents']:@@@",
      "@@@STEP_LOG_LINE@python.inline@  if 'PipelineReporter' in trace['name']:@@@",
      "@@@STEP_LOG_LINE@python.inline@    frame_id = trace['id']@@@",
      "@@@STEP_LOG_LINE@python.inline@    args = trace.get('args')@@@",
      "@@@STEP_LOG_LINE@python.inline@    if args and args.get('step') == 'BeginImplFrameToSendBeginMainFrame':@@@",
      "@@@STEP_LOG_LINE@python.inline@      frame_id_to_start_ts[frame_id] = trace['ts']@@@",
      "@@@STEP_LOG_LINE@python.inline@    elif args and (args.get('termination_status') in@@@",
      "@@@STEP_LOG_LINE@python.inline@                   accepted_termination_statuses):@@@",
      "@@@STEP_LOG_LINE@python.inline@      if not frame_id_to_start_ts.get(frame_id):@@@",
      "@@@STEP_LOG_LINE@python.inline@        print '[No start ts found for %s]' % frame_id@@@",
      "@@@STEP_LOG_LINE@python.inline@        continue@@@",
      "@@@STEP_LOG_LINE@python.inline@      current_frame_duration = trace['ts'] - frame_id_to_start_ts[frame_id]@@@",
      "@@@STEP_LOG_LINE@python.inline@      total_frames += 1@@@",
      "@@@STEP_LOG_LINE@python.inline@      completed_frame_id_and_duration_status.append(@@@",
      "@@@STEP_LOG_LINE@python.inline@          (frame_id, current_frame_duration, args['termination_status']))@@@",
      "@@@STEP_LOG_LINE@python.inline@      if(args['termination_status'] == 'missed_frame' or@@@",
      "@@@STEP_LOG_LINE@python.inline@       args['termination_status'] == 'submitted_frame'):@@@",
      "@@@STEP_LOG_LINE@python.inline@        drawn_frame_id_and_duration.append((frame_id, current_frame_duration))@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@      # We are done with this frame_id so remove it from the dict.@@@",
      "@@@STEP_LOG_LINE@python.inline@      frame_id_to_start_ts.pop(frame_id)@@@",
      "@@@STEP_LOG_LINE@python.inline@      print '%d (%s with %s): %d' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@          total_frames, frame_id, args['termination_status'],@@@",
      "@@@STEP_LOG_LINE@python.inline@          current_frame_duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@    elif args and (args.get('termination_status') in@@@",
      "@@@STEP_LOG_LINE@python.inline@                   erroneous_termination_statuses):@@@",
      "@@@STEP_LOG_LINE@python.inline@      # Invalidate previously collected results for this frame_id.@@@",
      "@@@STEP_LOG_LINE@python.inline@      if frame_id_to_start_ts.get(frame_id):@@@",
      "@@@STEP_LOG_LINE@python.inline@        print '[Invalidating %s due to %s]' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@            frame_id, args['termination_status'])@@@",
      "@@@STEP_LOG_LINE@python.inline@        frame_id_to_start_ts.pop(frame_id)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Calculate metrics for total completed frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@total_completed_frames = len(completed_frame_id_and_duration_status)@@@",
      "@@@STEP_LOG_LINE@python.inline@if total_completed_frames < 25:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Even with 3 loops found only %d frames' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  total_completed_frames)@@@",
      "@@@STEP_LOG_LINE@python.inline@# Get frame avg/min/max for the middle 25 frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@start = (total_completed_frames - 25)/2@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Got %d total completed frames. Using indexes [%d, %d).' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@    total_completed_frames, start, start+25)@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_max = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_min = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_cumulative = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@aborted_frames = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@for frame_id, duration, status in (@@@",
      "@@@STEP_LOG_LINE@python.inline@    completed_frame_id_and_duration_status[start:start+25]):@@@",
      "@@@STEP_LOG_LINE@python.inline@  frame_max = max(frame_max, duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@  frame_min = min(frame_min, duration) if frame_min else duration@@@",
      "@@@STEP_LOG_LINE@python.inline@  frame_cumulative += duration@@@",
      "@@@STEP_LOG_LINE@python.inline@  if status == 'main_frame_aborted':@@@",
      "@@@STEP_LOG_LINE@python.inline@    aborted_frames += 1@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results = {}@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['frame_max_us'] = frame_max@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['frame_min_us'] = frame_min@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['frame_avg_us'] = frame_cumulative/25@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['aborted_frames'] = aborted_frames@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Now calculate metrics for only drawn frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_max = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_min = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_cumulative = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@total_drawn_frames = len(drawn_frame_id_and_duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@if total_drawn_frames < 25:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Even with 3 loops found only %d drawn frames' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  total_drawn_frames)@@@",
      "@@@STEP_LOG_LINE@python.inline@# Get drawn frame avg/min/max from the middle 25 frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@start = (total_drawn_frames - 25)/2@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Got %d total drawn frames. Using indexes [%d-%d).' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@      total_drawn_frames, start, start+25)@@@",
      "@@@STEP_LOG_LINE@python.inline@for frame_id, duration in drawn_frame_id_and_duration[start:start+25]:@@@",
      "@@@STEP_LOG_LINE@python.inline@  drawn_frame_max = max(drawn_frame_max, duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@  drawn_frame_min = (min(drawn_frame_min, duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@                     if drawn_frame_min else duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@  drawn_frame_cumulative += duration@@@",
      "@@@STEP_LOG_LINE@python.inline@# Add metrics to perf_results.@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['drawn_frame_max_us'] = drawn_frame_max@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['drawn_frame_min_us'] = drawn_frame_min@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['drawn_frame_avg_us'] = drawn_frame_cumulative/25@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Final perf_results dict: %s' % perf_results@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Write perf_results to the output json.@@@",
      "@@@STEP_LOG_LINE@python.inline@with open(output_json_file, 'w') as f:@@@",
      "@@@STEP_LOG_LINE@python.inline@  f.write(json.dumps(perf_results))@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "[START_DIR]/node/node/bin/node",
      "[START_DIR]/skia/tools/lottie-web-perf/lottie-web-perf.js",
      "--backend",
      "canvas",
      "--input",
      "[START_DIR]/lottie-samples/lottie3.json",
      "--output",
      "[CLEANUP]/g3_try_tmp_1/lottie3.json"
    ],
    "cwd": "[START_DIR]/skia/tools/lottie-web-perf",
    "env": {
      "CHROME_HEADLESS": "1",
      "DISPLAY": ":0",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Run perf cmd line app (3)"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport json\nimport sys\n\ntrace_output = sys.argv[1]\nwith open(trace_output, 'r') as f:\n  trace_json = json.load(f)\noutput_json_file = sys.argv[2]\nrenderer = sys.argv[3]  # Unused for now but might be useful in the future.\n\n# Output data about the GPU that was used.\nprint 'GPU data:'\nprint trace_json['metadata'].get('gpu-gl-renderer')\nprint trace_json['metadata'].get('gpu-driver')\nprint trace_json['metadata'].get('gpu-gl-vendor')\n\nerroneous_termination_statuses = [\n    'replaced_by_new_reporter_at_same_stage',\n    'did_not_produce_frame',\n]\naccepted_termination_statuses = [\n    'missed_frame',\n    'submitted_frame',\n    'main_frame_aborted'\n]\n\ncurrent_frame_duration = 0\ntotal_frames = 0\nframe_id_to_start_ts = {}\n# Will contain tuples of frame_ids and their duration and status.\ncompleted_frame_id_and_duration_status = []\n# Will contain tuples of drawn frame_ids and their duration.\ndrawn_frame_id_and_duration = []\nfor trace in trace_json['traceEvents']:\n  if 'PipelineReporter' in trace['name']:\n    frame_id = trace['id']\n    args = trace.get('args')\n    if args and args.get('step') == 'BeginImplFrameToSendBeginMainFrame':\n      frame_id_to_start_ts[frame_id] = trace['ts']\n    elif args and (args.get('termination_status') in\n                   accepted_termination_statuses):\n      if not frame_id_to_start_ts.get(frame_id):\n        print '[No start ts found for %s]' % frame_id\n        continue\n      current_frame_duration = trace['ts'] - frame_id_to_start_ts[frame_id]\n      total_frames += 1\n      completed_frame_id_and_duration_status.append(\n          (frame_id, current_frame_duration, args['termination_status']))\n      if(args['termination_status'] == 'missed_frame' or\n       args['termination_status'] == 'submitted_frame'):\n        drawn_frame_id_and_duration.append((frame_id, current_frame_duration))\n\n      # We are done with this frame_id so remove it from the dict.\n      frame_id_to_start_ts.pop(frame_id)\n      print '%d (%s with %s): %d' % (\n          total_frames, frame_id, args['termination_status'],\n          current_frame_duration)\n    elif args and (args.get('termination_status') in\n                   erroneous_termination_statuses):\n      # Invalidate previously collected results for this frame_id.\n      if frame_id_to_start_ts.get(frame_id):\n        print '[Invalidating %s due to %s]' % (\n            frame_id, args['termination_status'])\n        frame_id_to_start_ts.pop(frame_id)\n\n# Calculate metrics for total completed frames.\ntotal_completed_frames = len(completed_frame_id_and_duration_status)\nif total_completed_frames < 25:\n  raise Exception('Even with 3 loops found only %d frames' %\n                  total_completed_frames)\n# Get frame avg/min/max for the middle 25 frames.\nstart = (total_completed_frames - 25)/2\nprint 'Got %d total completed frames. Using indexes [%d, %d).' % (\n    total_completed_frames, start, start+25)\nframe_max = 0\nframe_min = 0\nframe_cumulative = 0\naborted_frames = 0\nfor frame_id, duration, status in (\n    completed_frame_id_and_duration_status[start:start+25]):\n  frame_max = max(frame_max, duration)\n  frame_min = min(frame_min, duration) if frame_min else duration\n  frame_cumulative += duration\n  if status == 'main_frame_aborted':\n    aborted_frames += 1\n\nperf_results = {}\nperf_results['frame_max_us'] = frame_max\nperf_results['frame_min_us'] = frame_min\nperf_results['frame_avg_us'] = frame_cumulative/25\nperf_results['aborted_frames'] = aborted_frames\n\n# Now calculate metrics for only drawn frames.\ndrawn_frame_max = 0\ndrawn_frame_min = 0\ndrawn_frame_cumulative = 0\ntotal_drawn_frames = len(drawn_frame_id_and_duration)\nif total_drawn_frames < 25:\n  raise Exception('Even with 3 loops found only %d drawn frames' %\n                  total_drawn_frames)\n# Get drawn frame avg/min/max from the middle 25 frames.\nstart = (total_drawn_frames - 25)/2\nprint 'Got %d total drawn frames. Using indexes [%d-%d).' % (\n      total_drawn_frames, start, start+25)\nfor frame_id, duration in drawn_frame_id_and_duration[start:start+25]:\n  drawn_frame_max = max(drawn_frame_max, duration)\n  drawn_frame_min = (min(drawn_frame_min, duration)\n                     if drawn_frame_min else duration)\n  drawn_frame_cumulative += duration\n# Add metrics to perf_results.\nperf_results['drawn_frame_max_us'] = drawn_frame_max\nperf_results['drawn_frame_min_us'] = drawn_frame_min\nperf_results['drawn_frame_avg_us'] = drawn_frame_cumulative/25\n\nprint 'Final perf_results dict: %s' % perf_results\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",
      "[CLEANUP]/g3_try_tmp_1/lottie3.json",
      "/path/to/tmp/json",
      "lottie-web"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "name": "parse lottie3.json trace",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"frame_avg_us\": 179.71, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"frame_max_us\": 218.25, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"frame_min_us\": 141.17@@@",
      "@@@STEP_LOG_LINE@json.output@}@@@",
      "@@@STEP_LOG_END@json.output@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@import json@@@",
      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@trace_output = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@with open(trace_output, 'r') as f:@@@",
      "@@@STEP_LOG_LINE@python.inline@  trace_json = json.load(f)@@@",
      "@@@STEP_LOG_LINE@python.inline@output_json_file = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@renderer = sys.argv[3]  # Unused for now but might be useful in the future.@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Output data about the GPU that was used.@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'GPU data:'@@@",
      "@@@STEP_LOG_LINE@python.inline@print trace_json['metadata'].get('gpu-gl-renderer')@@@",
      "@@@STEP_LOG_LINE@python.inline@print trace_json['metadata'].get('gpu-driver')@@@",
      "@@@STEP_LOG_LINE@python.inline@print trace_json['metadata'].get('gpu-gl-vendor')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@erroneous_termination_statuses = [@@@",
      "@@@STEP_LOG_LINE@python.inline@    'replaced_by_new_reporter_at_same_stage',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'did_not_produce_frame',@@@",
      "@@@STEP_LOG_LINE@python.inline@]@@@",
      "@@@STEP_LOG_LINE@python.inline@accepted_termination_statuses = [@@@",
      "@@@STEP_LOG_LINE@python.inline@    'missed_frame',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'submitted_frame',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'main_frame_aborted'@@@",
      "@@@STEP_LOG_LINE@python.inline@]@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@current_frame_duration = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@total_frames = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_id_to_start_ts = {}@@@",
      "@@@STEP_LOG_LINE@python.inline@# Will contain tuples of frame_ids and their duration and status.@@@",
      "@@@STEP_LOG_LINE@python.inline@completed_frame_id_and_duration_status = []@@@",
      "@@@STEP_LOG_LINE@python.inline@# Will contain tuples of drawn frame_ids and their duration.@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_id_and_duration = []@@@",
      "@@@STEP_LOG_LINE@python.inline@for trace in trace_json['traceEvents']:@@@",
      "@@@STEP_LOG_LINE@python.inline@  if 'PipelineReporter' in trace['name']:@@@",
      "@@@STEP_LOG_LINE@python.inline@    frame_id = trace['id']@@@",
      "@@@STEP_LOG_LINE@python.inline@    args = trace.get('args')@@@",
      "@@@STEP_LOG_LINE@python.inline@    if args and args.get('step') == 'BeginImplFrameToSendBeginMainFrame':@@@",
      "@@@STEP_LOG_LINE@python.inline@      frame_id_to_start_ts[frame_id] = trace['ts']@@@",
      "@@@STEP_LOG_LINE@python.inline@    elif args and (args.get('termination_status') in@@@",
      "@@@STEP_LOG_LINE@python.inline@                   accepted_termination_statuses):@@@",
      "@@@STEP_LOG_LINE@python.inline@      if not frame_id_to_start_ts.get(frame_id):@@@",
      "@@@STEP_LOG_LINE@python.inline@        print '[No start ts found for %s]' % frame_id@@@",
      "@@@STEP_LOG_LINE@python.inline@        continue@@@",
      "@@@STEP_LOG_LINE@python.inline@      current_frame_duration = trace['ts'] - frame_id_to_start_ts[frame_id]@@@",
      "@@@STEP_LOG_LINE@python.inline@      total_frames += 1@@@",
      "@@@STEP_LOG_LINE@python.inline@      completed_frame_id_and_duration_status.append(@@@",
      "@@@STEP_LOG_LINE@python.inline@          (frame_id, current_frame_duration, args['termination_status']))@@@",
      "@@@STEP_LOG_LINE@python.inline@      if(args['termination_status'] == 'missed_frame' or@@@",
      "@@@STEP_LOG_LINE@python.inline@       args['termination_status'] == 'submitted_frame'):@@@",
      "@@@STEP_LOG_LINE@python.inline@        drawn_frame_id_and_duration.append((frame_id, current_frame_duration))@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@      # We are done with this frame_id so remove it from the dict.@@@",
      "@@@STEP_LOG_LINE@python.inline@      frame_id_to_start_ts.pop(frame_id)@@@",
      "@@@STEP_LOG_LINE@python.inline@      print '%d (%s with %s): %d' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@          total_frames, frame_id, args['termination_status'],@@@",
      "@@@STEP_LOG_LINE@python.inline@          current_frame_duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@    elif args and (args.get('termination_status') in@@@",
      "@@@STEP_LOG_LINE@python.inline@                   erroneous_termination_statuses):@@@",
      "@@@STEP_LOG_LINE@python.inline@      # Invalidate previously collected results for this frame_id.@@@",
      "@@@STEP_LOG_LINE@python.inline@      if frame_id_to_start_ts.get(frame_id):@@@",
      "@@@STEP_LOG_LINE@python.inline@        print '[Invalidating %s due to %s]' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@            frame_id, args['termination_status'])@@@",
      "@@@STEP_LOG_LINE@python.inline@        frame_id_to_start_ts.pop(frame_id)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Calculate metrics for total completed frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@total_completed_frames = len(completed_frame_id_and_duration_status)@@@",
      "@@@STEP_LOG_LINE@python.inline@if total_completed_frames < 25:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Even with 3 loops found only %d frames' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  total_completed_frames)@@@",
      "@@@STEP_LOG_LINE@python.inline@# Get frame avg/min/max for the middle 25 frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@start = (total_completed_frames - 25)/2@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Got %d total completed frames. Using indexes [%d, %d).' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@    total_completed_frames, start, start+25)@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_max = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_min = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@frame_cumulative = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@aborted_frames = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@for frame_id, duration, status in (@@@",
      "@@@STEP_LOG_LINE@python.inline@    completed_frame_id_and_duration_status[start:start+25]):@@@",
      "@@@STEP_LOG_LINE@python.inline@  frame_max = max(frame_max, duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@  frame_min = min(frame_min, duration) if frame_min else duration@@@",
      "@@@STEP_LOG_LINE@python.inline@  frame_cumulative += duration@@@",
      "@@@STEP_LOG_LINE@python.inline@  if status == 'main_frame_aborted':@@@",
      "@@@STEP_LOG_LINE@python.inline@    aborted_frames += 1@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results = {}@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['frame_max_us'] = frame_max@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['frame_min_us'] = frame_min@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['frame_avg_us'] = frame_cumulative/25@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['aborted_frames'] = aborted_frames@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Now calculate metrics for only drawn frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_max = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_min = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@drawn_frame_cumulative = 0@@@",
      "@@@STEP_LOG_LINE@python.inline@total_drawn_frames = len(drawn_frame_id_and_duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@if total_drawn_frames < 25:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Even with 3 loops found only %d drawn frames' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  total_drawn_frames)@@@",
      "@@@STEP_LOG_LINE@python.inline@# Get drawn frame avg/min/max from the middle 25 frames.@@@",
      "@@@STEP_LOG_LINE@python.inline@start = (total_drawn_frames - 25)/2@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Got %d total drawn frames. Using indexes [%d-%d).' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@      total_drawn_frames, start, start+25)@@@",
      "@@@STEP_LOG_LINE@python.inline@for frame_id, duration in drawn_frame_id_and_duration[start:start+25]:@@@",
      "@@@STEP_LOG_LINE@python.inline@  drawn_frame_max = max(drawn_frame_max, duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@  drawn_frame_min = (min(drawn_frame_min, duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@                     if drawn_frame_min else duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@  drawn_frame_cumulative += duration@@@",
      "@@@STEP_LOG_LINE@python.inline@# Add metrics to perf_results.@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['drawn_frame_max_us'] = drawn_frame_max@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['drawn_frame_min_us'] = drawn_frame_min@@@",
      "@@@STEP_LOG_LINE@python.inline@perf_results['drawn_frame_avg_us'] = drawn_frame_cumulative/25@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Final perf_results dict: %s' % perf_results@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Write perf_results to the output json.@@@",
      "@@@STEP_LOG_LINE@python.inline@with open(output_json_file, 'w') as f:@@@",
      "@@@STEP_LOG_LINE@python.inline@  f.write(json.dumps(perf_results))@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
    ],
    "name": "get swarming bot id",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@python.inline@import os@@@",
      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
    ],
    "name": "get swarming task id",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@python.inline@import os@@@",
      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "ensure-directory",
      "--mode",
      "0777",
      "[START_DIR]/[SWARM_OUT_DIR]"
    ],
    "infra_step": true,
    "name": "makedirs perf_dir"
  },
  {
    "cmd": [
      "python",
      "-u",
      "import json\nwith open('[START_DIR]/[SWARM_OUT_DIR]/perf_abc123_1337000001.json', 'w') as outfile:\n  json.dump(obj={'gitHash': 'abc123', 'results': {'lottie3.json': {'gl': {'frame_avg_us': 179.71, 'frame_max_us': 218.25, 'frame_min_us': 141.17}}, 'lottie1.json': {'gl': {'frame_avg_us': 179.71, 'frame_max_us': 218.25, 'frame_min_us': 141.17}}, 'lottie2.json': {'gl': {'frame_avg_us': 179.71, 'frame_max_us': 218.25, 'frame_min_us': 141.17}}}, 'patch_storage': 'gerrit', 'swarming_task_id': '', 'renderer': 'lottie-web', 'key': {'extra_config': 'LottieWeb_Canvas', 'bench_type': 'tracing', 'cpu_or_gpu_value': 'AVX2', 'arch': 'x86_64', 'source_type': 'lottie-web', 'cpu_or_gpu': 'CPU', 'model': 'GCE', 'configuration': 'Release', 'os': 'Debian10', 'compiler': 'none'}, 'swarming_bot_id': '', 'patchset': 7, 'issue': 1234}, fp=outfile, indent=4)\n"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "name": "write output JSON",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@python.inline@import json@@@",
      "@@@STEP_LOG_LINE@python.inline@with open('[START_DIR]/[SWARM_OUT_DIR]/perf_abc123_1337000001.json', 'w') as outfile:@@@",
      "@@@STEP_LOG_LINE@python.inline@  json.dump(obj={'gitHash': 'abc123', 'results': {'lottie3.json': {'gl': {'frame_avg_us': 179.71, 'frame_max_us': 218.25, 'frame_min_us': 141.17}}, 'lottie1.json': {'gl': {'frame_avg_us': 179.71, 'frame_max_us': 218.25, 'frame_min_us': 141.17}}, 'lottie2.json': {'gl': {'frame_avg_us': 179.71, 'frame_max_us': 218.25, 'frame_min_us': 141.17}}}, 'patch_storage': 'gerrit', 'swarming_task_id': '', 'renderer': 'lottie-web', 'key': {'extra_config': 'LottieWeb_Canvas', 'bench_type': 'tracing', 'cpu_or_gpu_value': 'AVX2', 'arch': 'x86_64', 'source_type': 'lottie-web', 'cpu_or_gpu': 'CPU', 'model': 'GCE', 'configuration': 'Release', 'os': 'Debian10', 'compiler': 'none'}, 'swarming_bot_id': '', 'patchset': 7, 'issue': 1234}, fp=outfile, indent=4)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "name": "$result"
  }
]