[
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "ensure-directory",
      "--mode",
      "0777",
      "[START_DIR]/cache/work"
    ],
    "infra_step": true,
    "name": "makedirs checkout_path"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "remove",
      "[START_DIR]/cache/work/.gclient_entries"
    ],
    "infra_step": true,
    "name": "remove [START_DIR]/cache/work/.gclient_entries"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
      "--spec-path",
      "cache_dir = '[START_DIR]/cache/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]",
      "--patch_root",
      "skia",
      "--revision_mapping_file",
      "{\"got_revision\": \"skia\"}",
      "--git-cache-dir",
      "[START_DIR]/cache/git",
      "--cleanup-dir",
      "[CLEANUP]/bot_update",
      "--output_json",
      "/path/to/tmp/json",
      "--patch_ref",
      "https://skia.googlesource.com/skia.git@abc123:89/456789/12",
      "--revision",
      "skia@abc123"
    ],
    "cwd": "[START_DIR]/cache/work",
    "env_prefixes": {
      "PATH": [
        "RECIPE_REPO[depot_tools]"
      ]
    },
    "infra_step": true,
    "name": "bot_update",
    "~followup_annotations": [
      "@@@STEP_TEXT@Some step text@@@",
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
      "@@@STEP_LOG_LINE@json.output@    \"skia\": \"abc123\"@@@",
      "@@@STEP_LOG_LINE@json.output@  }, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
      "@@@STEP_LOG_LINE@json.output@    \"skia\": {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/skia.git\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
      "@@@STEP_LOG_LINE@json.output@    }@@@",
      "@@@STEP_LOG_LINE@json.output@  }, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"skia\", @@@",
      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@",
      "@@@STEP_LOG_LINE@json.output@  }, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"root\": \"skia\", @@@",
      "@@@STEP_LOG_LINE@json.output@  \"source_manifest\": {@@@",
      "@@@STEP_LOG_LINE@json.output@    \"directories\": {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"skia\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/skia.git\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
      "@@@STEP_LOG_LINE@json.output@        }@@@",
      "@@@STEP_LOG_LINE@json.output@      }@@@",
      "@@@STEP_LOG_LINE@json.output@    }, @@@",
      "@@@STEP_LOG_LINE@json.output@    \"version\": 0@@@",
      "@@@STEP_LOG_LINE@json.output@  }, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
      "@@@STEP_LOG_LINE@json.output@}@@@",
      "@@@STEP_LOG_END@json.output@@@",
      "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-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]/cache/work/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]/cache/work/skia/tools/lottie-web-perf/lottie-web-perf.js",
      "--input",
      "[START_DIR]/lottie-samples/lottie1.json",
      "--output",
      "[CLEANUP]/g3_try_tmp_1/lottie1.json"
    ],
    "cwd": "[START_DIR]/cache/work/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.\ncompleted_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.append(\n          (frame_id, current_frame_duration))\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\ntotal_completed_frames = len(completed_frame_id_and_duration)\nif total_completed_frames < 25:\n  raise Exception('Even with 2 loops found only %d frames' %\n                  total_completed_frames)\n\n# Get frame avg/min/max for the middle 25 frames.\nstart = (total_completed_frames - 25)/2\nprint 'Got %d total completed frames. Using start_index of %d.' % (\n    total_completed_frames, start)\nframe_max = 0\nframe_min = 0\nframe_cumulative = 0\nfor frame_id, duration in completed_frame_id_and_duration[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\nperf_results = {}\nperf_results['frame_max_us'] = frame_max\nperf_results['frame_min_us'] = frame_min\nperf_results['frame_avg_us'] = frame_cumulative/25\nprint 'For 25 frames got: %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.@@@",
      "@@@STEP_LOG_LINE@python.inline@completed_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.append(@@@",
      "@@@STEP_LOG_LINE@python.inline@          (frame_id, current_frame_duration))@@@",
      "@@@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@total_completed_frames = len(completed_frame_id_and_duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@if total_completed_frames < 25:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Even with 2 loops found only %d frames' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  total_completed_frames)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@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 start_index of %d.' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@    total_completed_frames, start)@@@",
      "@@@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@for frame_id, duration in completed_frame_id_and_duration[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@@@@",
      "@@@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@print 'For 25 frames got: %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]/cache/work/skia/tools/lottie-web-perf/lottie-web-perf.js",
      "--input",
      "[START_DIR]/lottie-samples/lottie2.json",
      "--output",
      "[CLEANUP]/g3_try_tmp_1/lottie2.json"
    ],
    "cwd": "[START_DIR]/cache/work/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.\ncompleted_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.append(\n          (frame_id, current_frame_duration))\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\ntotal_completed_frames = len(completed_frame_id_and_duration)\nif total_completed_frames < 25:\n  raise Exception('Even with 2 loops found only %d frames' %\n                  total_completed_frames)\n\n# Get frame avg/min/max for the middle 25 frames.\nstart = (total_completed_frames - 25)/2\nprint 'Got %d total completed frames. Using start_index of %d.' % (\n    total_completed_frames, start)\nframe_max = 0\nframe_min = 0\nframe_cumulative = 0\nfor frame_id, duration in completed_frame_id_and_duration[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\nperf_results = {}\nperf_results['frame_max_us'] = frame_max\nperf_results['frame_min_us'] = frame_min\nperf_results['frame_avg_us'] = frame_cumulative/25\nprint 'For 25 frames got: %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.@@@",
      "@@@STEP_LOG_LINE@python.inline@completed_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.append(@@@",
      "@@@STEP_LOG_LINE@python.inline@          (frame_id, current_frame_duration))@@@",
      "@@@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@total_completed_frames = len(completed_frame_id_and_duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@if total_completed_frames < 25:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Even with 2 loops found only %d frames' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  total_completed_frames)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@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 start_index of %d.' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@    total_completed_frames, start)@@@",
      "@@@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@for frame_id, duration in completed_frame_id_and_duration[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@@@@",
      "@@@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@print 'For 25 frames got: %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]/cache/work/skia/tools/lottie-web-perf/lottie-web-perf.js",
      "--input",
      "[START_DIR]/lottie-samples/lottie3.json",
      "--output",
      "[CLEANUP]/g3_try_tmp_1/lottie3.json"
    ],
    "cwd": "[START_DIR]/cache/work/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.\ncompleted_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.append(\n          (frame_id, current_frame_duration))\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\ntotal_completed_frames = len(completed_frame_id_and_duration)\nif total_completed_frames < 25:\n  raise Exception('Even with 2 loops found only %d frames' %\n                  total_completed_frames)\n\n# Get frame avg/min/max for the middle 25 frames.\nstart = (total_completed_frames - 25)/2\nprint 'Got %d total completed frames. Using start_index of %d.' % (\n    total_completed_frames, start)\nframe_max = 0\nframe_min = 0\nframe_cumulative = 0\nfor frame_id, duration in completed_frame_id_and_duration[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\nperf_results = {}\nperf_results['frame_max_us'] = frame_max\nperf_results['frame_min_us'] = frame_min\nperf_results['frame_avg_us'] = frame_cumulative/25\nprint 'For 25 frames got: %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.@@@",
      "@@@STEP_LOG_LINE@python.inline@completed_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.append(@@@",
      "@@@STEP_LOG_LINE@python.inline@          (frame_id, current_frame_duration))@@@",
      "@@@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@total_completed_frames = len(completed_frame_id_and_duration)@@@",
      "@@@STEP_LOG_LINE@python.inline@if total_completed_frames < 25:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Even with 2 loops found only %d frames' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  total_completed_frames)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@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 start_index of %d.' % (@@@",
      "@@@STEP_LOG_LINE@python.inline@    total_completed_frames, start)@@@",
      "@@@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@for frame_id, duration in completed_frame_id_and_duration[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@@@@",
      "@@@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@print 'For 25 frames got: %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",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "rmtree",
      "[CLEANUP]/g3_try_tmp_1"
    ],
    "infra_step": true,
    "name": "rmtree [CLEANUP]/g3_try_tmp_1"
  },
  {
    "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": [
      "python",
      "-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', 'bench_type': 'tracing', 'cpu_or_gpu_value': 'AVX2', 'arch': 'x86_64', 'source_type': 'lottie-web', 'cpu_or_gpu': 'CPU', 'model': 'GCE', 'configuration': 'Release', 'os': 'Debian9', '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', 'bench_type': 'tracing', 'cpu_or_gpu_value': 'AVX2', 'arch': 'x86_64', 'source_type': 'lottie-web', 'cpu_or_gpu': 'CPU', 'model': 'GCE', 'configuration': 'Release', 'os': 'Debian9', 'compiler': 'none'}, 'swarming_bot_id': '', 'patchset': 7, 'issue': 1234}, fp=outfile, indent=4)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "name": "$result"
  }
]